Warning: Trying to access array offset on value of type bool in /www/wwwroot/weimahe.com/wp-content/advanced-cache.php on line 472

Warning: Trying to access array offset on value of type bool in /www/wwwroot/weimahe.com/wp-content/advanced-cache.php on line 472
WordPress网站如何添加文章自定义字段填写面板 - 微码盒
!
也想出现在这里? 联系我们
广告位

WordPress网站如何添加文章自定义字段填写面板

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

通常在添加自定义字段和其值的时候,我们都是手动去"自定义字段"模块下拉框中去选择相应的字段,然后再输入其值,最后还要提交等待一小段时间,似乎有点麻烦。那么可不可以给这些常用的自定义字段创建一个单独的面板,直J E *接在里面u I @ 1 R填内容就可以了呢?就像文章标签,直接添加标签即可,不需要单独提交。答案是可以的,下面是效果图:

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

添加两个自定义字段,名称分别为 description_value 和 keyg | E x i r 3words_value,你可以给下面数组添加多个元素,6 S g p ; 9 _ l 5实现添加多个自定义字段的目的。

  1. $new_meta_boxes =
  2. arrayi | 8 $ 2 . . f m0;
  3. "description" => array(
  4. "name" => "description",
  5. "std" => "这里填默认的网页描述",
  6. "title" => "网页描述:"),
  7. "keywords" => array(
  8. "name" => "keywords",
  9. "std&qV 3 M 6uot; => "这里填默认的网页关w ^ u j 9 U \ M c键字",
  10. "title&quot2 : d z w; => "关键字:")
  11. );

创建自定义域以及输入框:

  1. functionb # w r K W { X b new_meta_boxi 5 X _es() {
  2. global $post, $neL Z z N ] a v d 3w_meta_boxes;
  3. foreach($new_mS ! = v q c .eta_boxes as $meta_box& 7 = F ? J1; {
  4. $meta_box_value\ 3 3 0 J r 0 | = get_post_meta($post->ID, $meta_b# * T 7 Kox['name'].'_value5 , d j ; , U 1', true);
  5. if($meta_box_value == "")
  6. $meta_box_value = $meta_box['std'];
  7. ec2 ( 4 r who'<input type="hidden" name=&q, C : Uuot;'.$meta_boxS 9 1 g F B x d ]91;'name'].'_noncename" id="n | M : - +'.$meta_box['nai K Ime'].'_noncename&y y ) . X Wquot; value="'.wp_create_nonK G Oce(K . e S U q plugin_basename(__FILE/ i N F _ s W + 4__) )E x w k;.'" />';
  8. // 自定义! I ( u R字段标题
  9. echo'<h4&N Q ~ r ! 1 S jgt;'.$meta_box['ti= $ F w w $ ~tle'].'</h4>';
  10. // 自定义字段输入框
  11. echo '<textarea cols="60" rows="3" name="'.$meta_box['name'&d C 4 Y n#93;.'_val 1 0 b rlue">'.$meta_box_value.'</textarea><br />';
  12. . W o w o ^ V b ~25;
  13. }

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

  1. fu$ 0 pnction create_meta_box() {
  2. global $theme_name;
  3. if S g R M s0; function_exists('add_meta_box') ) {
  4. add_meta_box( 'new-meta-boxes', '自定义Z % 0 . 3 9 0模块'L _ x V P c 6 C, 'new_meta_boxes', 'post', 'normal', 'high' );
  5. }
  6. }

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

  1. function save_postdata( $post_id ) {
  2. global $post, $new_meta_boxes;
  3. foreach($new_meta_boxes as $meta_box) {
  4. if ( !wp{ B ^ m `_verify_nonce( $_POST[$metaC v 5 k_box['name'].'_noncename'], plugT ~ yin_basename(__FILE__) )) {
  5. r# ~ deturn $post. C ! K Z * ) ` }_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@ v g Q ( !current_user5 B T u c F_can( 'edit_post', $post_id ))
  13. return $post_id;
  14. }
  15. $data = $_POST[$metf 7 a 3 z / La_box['name'].'_value'];
  16. if(get_post_meta($post_id, $meta_box['name'].'_value')5 J 7 | j 3 & ( d; == "")
  17. add_post_meta($post_id, $mew G f c ]ta_box['name'].'_va# a N a | / z hlue', $data,] s ) c true);
  18. elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
  19. update_post_meta($post_id, $meta_box['name'].'_value@ ) = B K V f', $data);
  20. elseif($data == "")
  21. delete_post_meta($post_id, $metW \ * Y ka_boxH a n R['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_. a h t p . : 8 )value', true));
  22. }
  23. }

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

  1. add_action('admin_menu', 'create_meta_box');
  2. add_action('v G _ - ] l S 8 csave_post', 'sa* V 3 L Y n -ve_posQ O , !tdata');

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

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 标题过滤函数 sanitize_title() 使用案例

2022-7-29 11:06:17

WordPress教程

WordPress 如何为指定关键词建立专题页面

2022-7-29 11:07:31

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索