有朋自远方来,不亦乐乎。
纯代码实现wordpress分类目录使用term_group排序
转载 模板兔  17 Aug/18 2.67K 8 A+
吐槽

前几天为了让按照既定的顺序展示,可没把我折腾坏。 不过万幸的是,在一番度娘之后,找到了更好的处理方案。

这个教程跟昨天转载分享的露兜神教程差不多,都是要给分类目录添加一个表单(个人感觉是、也就是,但又不太像。),以便我们手工输入数值,从而达到根据序号排序的效果。

以下教程,属于龙砚庭手工搬运跟润色补充。

有时候,我们需要通过分类的序号来排序分类列表,的分类有个term_order属性,默认为0。

部署

将以下代码扔到functions文件:

<?php 
function mbt_add_category_field(){ 
 echo '<div class="form-field"> 
 <label for="cat-num">序号</label> 
 <input name="_term_order" id="cat-num" type="text" value="" size="40"> 
 <p>专题列表排序,数字越好,越靠前</p> 
 </div>'; 
} 
add_action('category_add_form_fields','mbt_add_category_field',10,2); 
 
// 分类编辑字段 
function mbt_edit_category_field($tag){ 
 echo '<tr class="form-field"> 
 <th scope="row"><label for="cat-num">排序</label></th> 
 <td> 
 <input name="_term_order" id="cat-num" type="text" value="'; 
 echo ( ! empty( $tag->term_group ) ) ? $tag->term_group : '0';
 echo '" size="40"/><br> 
 <span class="cat-num">'.$tag->name.' 的专题排序</span> 
 </td> 
 </tr>'; 
} 
add_action('category_edit_form_fields','mbt_edit_category_field',10,2); 
 
// 保存数据 
function mbt_taxonomy_metadate($term_id){ 
 global $wpdb;
 if( isset( $_POST['_term_order'] ) ) {$wpdb->update( $wpdb->terms,array('term_group' => $_POST['_term_order']),array( 'term_id'=> $term_id));} 
} 
 
// 虽然要两个钩子,但是我们可以两个钩子使用同一个函数 
add_action('created_category','mbt_taxonomy_metadate',10,1); 
add_action('edited_category','mbt_taxonomy_metadate',10,1);
?>

DEMO

具体效果,我就不截图了。添加之后打开【后台】-【文章】-【分类目录】,便会在图像描述的输入框底下,出现一个序号输入框。

使用方法

<?php 
 $catid = $options['topiccatid'];
 $args=array(
 'child_of'=>$catid,
 'orderby' => 'term_group',
 'order'=>'ASC',
 'hide_empty' => 0, 
 );
 $categories=get_categories($args);
 ?>

按需修改上面的参数即可,其实关键的地方在于: 'orderby' => 'term_group',

END.

阅读全文

目前评论:8   其中:访客  4   博主  4

发表评论

莫慌,小狮子正在努力加载评论...
  1. 懿古今
    懿古今3 ( 2017.08.21 11:42:54 )  4楼

    大概明白了,就是给各个分类一个序号,然后通过序号输出来

    • 橘子书
      橘子书渣渣橘 ( 2017.08.22 8:04:36 )

      @懿古今 嗯,大概就是这个理儿。而且用起来很方便,因为数据库里面一直存在term_group,而且数值默认为0。

  2. Koolight
    Koolight2 ( 2017.08.20 20:46:59 )  地板

    博主的技术文章越来越看不懂了。

  3. 明月登楼
    明月登楼3 ( 2017.08.20 19:53:08 )  板凳

    现在很少折腾代码了!折腾服务器比较多!

  4. 东不正
    东不正2 ( 2017.08.18 22:03:57 )  沙发

    前排落座,认真听讲。