立即注册 找回密码

QQ登录

只需一步,快速开始

查看: 864|回复: 0

[Dedecms 安装问题] WordPress网站如何添加文章自定义字段填写面板

[复制链接]

53

主题

0

回帖

992

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
992
发表于 2023-3-28 20:45:26 | 显示全部楼层 |阅读模式
道勤网-数据www.daoqin.net

wordpress网站文章自定义字段可以按照自己需求进行数据的填写。例网页描述description和关键词keywords这两个meta标签。

通常在添加自定义字段和其值的时候,我们都是手动去"自定义字段"模块下拉框中去选择相应的字段,然后再输入其值,最后还要提交等待一小段时间,似乎有点麻烦。

那么可不可以给这些常用的自定义字段创建一个单独的面板,直接在里面填内容就可以了呢?就像文章标签,直接添加标签即可,不需要单独提交。答案是可以的,下面是效果图:

下面介绍一下如何制作这种文章自定义字段面板的方法。

第一步:添加两个自定义字段,名称分别为description_value和keywords_value,你可以给下面数组添加多个元素,实现添加多个自定义字段的目的。

  1. $new_meta_boxes =
  2. array(
  3. "description" => array(
  4. "name" => "description",
  5. "std" => "这里填默认的网页描述",
  6. "title" => "网页描述:"),

  7. "keywords" => array(
  8. "name" => "keywords",
  9. "std" => "这里填默认的网页关键字",
  10. "title" => "关键字:")
  11. );
复制代码

第二步:创建自定义域以及输入框;

  1. function new_meta_boxes() {
  2. global $post, $new_meta_boxes;

  3. foreach($new_meta_boxes as $meta_box) {
  4. $meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true);

  5. if($meta_box_value == "")
  6. $meta_box_value = $meta_box['std'];

  7. echo'<input type="hidden" name="'.$meta_box['name'].'_noncename" id="'.$meta_box['name'].'_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';

  8. // 自定义字段标题
  9. echo'<h4>'.$meta_box['title'].'</h4>';

  10. // 自定义字段输入框
  11. echo '<textarea cols="60" rows="3" name="'.$meta_box['name'].'_value">'.$meta_box_value.'</textarea><br />';
  12. }
  13. }
复制代码

第三步:在文章编辑页添加自定义字段模块,这其中这用了WordPress的添加模块函数add_meta_box。

  1. function create_meta_box() {
  2. global $theme_name;

  3. if ( function_exists('add_meta_box') ) {
  4. add_meta_box( 'new-meta-boxes', '自定义模块', 'new_meta_boxes', 'post', 'normal', 'high' );
  5. }
  6. }
复制代码

第四步:保存文章数据。之前所有准备都做好了,最重要的还是保存我们的自定义字段中的信息。

  1. function save_postdata( $post_id ) {
  2. global $post, $new_meta_boxes;

  3. foreach($new_meta_boxes as $meta_box) {
  4. if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
  5. return $post_id;
  6. }

  7. if ( 'page' == $_POST['post_type'] ) {
  8. if ( !current_user_can( 'edit_page', $post_id ))
  9. return $post_id;
  10. }
  11. else {
  12. if ( !current_user_can( 'edit_post', $post_id ))
  13. return $post_id;
  14. }

  15. $data = $_POST[$meta_box['name'].'_value'];

  16. if(get_post_meta($post_id, $meta_box['name'].'_value') == "")
  17. add_post_meta($post_id, $meta_box['name'].'_value', $data, true);
  18. elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
  19. update_post_meta($post_id, $meta_box['name'].'_value', $data);
  20. elseif($data == "")
  21. delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));
  22. }
  23. }
复制代码

第五步:将函数连接到指定action(动作)。这是最后一步,也是最重要的一步,我们要做的是将函数连接到指定action(动作),以让WordPress程序执行我们之前编写的函数:

  1. add_action('admin_menu', 'create_meta_box');
  2. add_action('save_post', 'save_postdata');
复制代码

好了,经过以上5步,就可以开发出自己的wordpress自定义字段填写面板了。


道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题! 如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服! 如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

道勤网- 推荐内容!上一条 /2 下一条

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

关于我们|手机版|小黑屋|地图|【道勤网】-www.daoqin.net 软件视频自学教程|免费教程|自学电脑|3D教程|平面教程|影视动画教程|办公教程|机械设计教程|网站设计教程【道勤网】 ( 皖ICP备15000319号-1 )

GMT+8, 2024-3-29 20:10

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

快速回复 返回顶部 返回列表