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

比如我们希望某个分类下的文章的SEO标题不显示站名,这个是什么意思呢?一般来说,文章的标题组成为Post title – Sitename,我们需要某些分类的文章的标题只有Post title,可以用模-板-兔写的以下方法来实现。

首先我们给分类添加一个字段来控制是否启用上面说的那个功能。

add_action('category_add_form_fields','erphp_ct_add_category_field',20,2);   function erphp_ct_add_category_field(){   echo '<div class="form-field">  <label for="erphp_cat_title">标题去站名</label>  <select name="erphp_cat_title" id="erphp_cat_title" class="postform">  <option value="0">关闭</option>  <option value="1">开启</option>  </select>  <p class="description">分类下的文章标题里不带网站名</p>  </div>';  }    add_action('category_edit_form_fields','erphp_ct_edit_category_field',20,2);   function erphp_ct_edit_category_field($tag){   $erphp_cat_title = get_term_meta($tag->term_id,'erphp_cat_title',true);  echo '<tr class="form-field">  <th scope="row">  <label for="erphp_cat_title">标题去站名</label>  <td>  <select name="erphp_cat_title" id="erphp_cat_title" class="postform">  <option value="0" '. ('0'==$erphp_cat_title?'selected="selected"':'') .'>关闭</option>  <option value="1" '. ('1'==$erphp_cat_title?'selected="selected"':'') .'>开启</option>  </select>  <p class="description">分类下的文章标题里不带网站名</p>  </td>  </th>  </tr>';  }    add_action('created_category','erphp_ct_category_field_edited',20,1);   add_action('edited_category','erphp_ct_category_field_edited',20,1);   function erphp_ct_category_field_edited($term_id){  update_term_meta($term_id,'erphp_cat_title',$_POST['erphp_cat_title']);  }

上面的代码就是给分类添加了一个【标题去站名】的设置选项,用到了category_add_form_fields、category_edit_form_fields、created_category、edited_category这4个钩子来分别实现添加、编辑、保存时处理这个自定义字段,具体这4个钩子的用法这里就不多讲了。

然后,我们利用wp_title这个钩子来实现文章SEO标题的显示。

function erphp_ct_wp_title( $title, $sep ) {  if(is_single()){  $erphp_ct = 0;  $categories = get_the_category();  if($categories) {  foreach($categories as $cat){  $erphp_cat_title = get_term_meta($cat->term_id,'erphp_cat_title',true);  if($erphp_cat_title){  $erphp_ct = 1;  break;  }  }  }  if($erphp_ct){  $title = get_the_title();  }  }  return $title;  }  add_filter( 'wp_title', 'erphp_ct_wp_title', 100, 2 );

一般只要主题写的规范的,上面代码的功能都会生效的,且不会对主题本身的wp_title钩子有影响~

WordPress如何给分类与标签添加自定义字段的教程,MOBANTU就讲到这了。


新软师兄 » WordPress 给分类与标签添加自定义字段
50T免费网盘资源大集合【持续更中~~~~】:点击查看

dase kand pornhan.mobi xvideo desi gay pcso 2pm result today pinoytvfriends.com where i can watch bad romeo كلام فى النيك wfporn.com قصص محارم حديثة busporn porngugu.mobi indian sexx vedios sex ka video noticieroporno.com himachal pradesh sex com
nero hentai hentaitgp.com ламия хентай www.mom xxx.com alohaporn.me sahara knite mature fucking tubepatrolporn.com bhabi sex indian girl sex gotporn.mobi xnxx family strocks ang probinsyano july 20 2022 full episode youtube pilipinoteleserye.com ano ang pambansang sasakyan ng pilipinas
احلي سكس محارم pornxporn.org نيك فلاحى multi.xnxx alohaporn.net telugu sex chart سكس قصيرات arabysexy.org نيك نقاب www assames sex com umora.info desi sexy bhabi 8teenx bukaporn.com india hot sex videos