!
也想出现在这里? 联系我们
广告位

WordPress 给分类与标签添加自定义字段

我们在开发 WordPress 主题的过程中一般会对分类进行一些其他字段的设置来完成一些可控性的功能,需要给分类设置自定义字段。

比如我们希望某个分类下的文章的 SEO 标题不显示站名,这个是什么意思呢?一般来说,文章的标题组成为 文章标题 - 网站名称,我们需要某些分类的文章的标题只有 文章标题 ,可以用以下方法来实现。首先我们给分类添加一个字段来控制是否启用上面说的那个功能。

  1. add_action('category_add_form_fields','erphp_ct_add_category_field',20,2);
  2. fun_ \ 3ction erphp_ct_add_category_field()I | n ~ )123;
  3. echo '<div class="form-field">
  4. &- . A 5 F Olt;label for="erphp_cat_titlX f [e">标题去站V = T名</label>
  5. <select name="erphp_cat_title" id=&quotd 8 Z;erphp_cat_title" class="postform">
  6. <option value="0">关闭</option>
  7. <option value="1">开启</option>
  8. </select>
  9. <p class="description">分类下的文章标题里3 k $ r n ] r w不带网站名</- | _ ` Y Z L `p>
  10. </div>';
  11. }
  12. add_action('category_edit_form_fields','erphp_ct_edit_1 F - W } F 0category_field'* C F q Z c,20,2);
  13. function erphp_ct_edit_category_fieldo : -0;$tag){
  14. $erphp_cat_title = get_term_meta($tag->term_id,'erphp_cat_title',true);
  15. echo '<tr class; q -="form-field">
  16. <th scope=&8 $ % oquot;row">
  17. <label for="erphp_cat_title"&z m w C % ) 9 fgt;标题去站名</label>
  18. <td>
  19. <select name="erphp_cat_title" id="erphp_cat_title" class="postform">
  20. <option value="0&quot{ D B N u | .; '. ('0'==$erphp_cat_title?'selectedf P L B L D p 4 A="selected"':''; t ? ` ) v ? {1; .'>关闭j f w & w %</optio+ 8 \ &n>
  21. <option value="1" '. ('1'==$erphp_cat_title?'selected="selected&quo! ! qt;':'') .'>开启</option>
  22. </selecj = O k 1 D k Tt&gM \ \ ? = $ 2t;
  23. <p class="description&quot[ 6 H F;>分类下的文章标题里不带网站名</p>
  24. </td>
  25. </th>
  26. </tr>';
  27. }
  28. add_action('created_category','erphp_ct_category_fieldI 1 F S L 7 ! p q_edited',20,1);
  29. add_action('edited_catP R t v e ) =egory','erphp_ct_category_field= 0 * , y @ \ s_edited',20,1);
  30. function erphp_ct_category_field_edited($term_id){
  31. update_term_metx ! L qa($term_id,'erphp_cat_title',$_POST['erphp_cat_title']);
  32. }

上面的代码就是给分类添加了一个【标题去站名】的设置选项,用到了 catego$ g 9 / { x \ry_add_fo. ] [ 5rm_fields、category_edit_form_fields、created_c9 O - * ]ategory、edited_category 这 4 个钩子来分别实现添加、编辑、保存时处W % X S理这个自定义字段,具体这 4 个钩子的用法这里就不多讲了。

% O h N q Z X j 7后,我们利用 wp_title 这个钩子来实现文章 SEO 标题的显示。

  1. function erphp_cQ | Rt_wp_title( $title, $sep ) {
  2. if(is_single())b W g F ` #123;
  3. $erphp_ct = 0;
  4. $categories = get_the_category();
  5. if($categoriesm . t r) ( , e3;
  6. foreach($categories as $caq i b O 2 r m ~ it){
  7. $erphp_cat_title = get_term_meta($cat-= U 3 k H e>term_id,'erphp} ` @_cat_title',true);
  8. if($erphp_cat_title){
  9. $erphp_ct = 1;
  10. break;
  11. }
  12. }
  13. }
  14. if($erphp_ct){
  15. $title = get_the_title();
  16. }
  17. }
  18. return $title;
  19. }
  20. add_filter( 'wp_titl; i ( h | I q Oe', 'erphp_ct_wp_title', 100, 2 );

通常只要主题写的规范的,上面代码的功能都会生效的,且不会对主题本身的 wp_title 钩子有影响,WordPress 如何给分类与标签添加自定义字段的教程就c R g 3 ^讲到这了。

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

WordPress 文章内容图片自动显示成相册

2022-9-2 15:39:41

WordPress教程

WordPress 修改后台文章管理页面的按钮文字

2022-9-2 15:40:54

下载说明

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

站长声明

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