wordpress纯代码实现分类目录手动排序

wordpress默认不能指定分类的排序,当然可以通过插件实现,但我又不想安装太多插件。如果你和我一样那就通过代码实现吧。

在当前主题文件夹找到functions.php文件,加上如下代码:

// 添加分类排序
function ymk_add_category_order(){ 
    echo '<div class="form-field"> 
    <label for="tag-order">排序</label> 
    <input name="_term_order" id="tag-order" type="text" value="100" size="40"> 
    <p>分类目录排序,数字越大,越靠前</p> 
    </div>'; 
} 
add_action('category_add_form_fields', 'ymk_add_category_order', 10 ,2); 
    
// 编辑分类排序
function ymk_edit_category_order($tag){ 
    echo '<tr class="form-field"> 
    <th scope="row"><label for="order">排序</label></th> 
    <td> 
    <input name="_term_order" id="order" type="text" value="'; 
    echo ( ! empty( $tag->term_group ) ) ? $tag->term_group : '0';
    echo '" size="40"/><br> 
    <p class="description">'.$tag->name.' 的排序</p> 
    </td> 
    </tr>'; 
} 
add_action('category_edit_form_fields', 'ymk_edit_category_order', 10 ,2); 
    
// 保存数据 
function ymk_category_save($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', 'ymk_category_save', 10 ,1); 
add_action('edited_category', 'ymk_category_save', 10 ,1);

保存进入后台分类目录,添加和编辑分类目录都有排序可以设置了。现在还需要修改下相应的主题文件即可。

orderby=term_group

 

1. 本站所有资源均来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,请在下载后24小时内删除!
3. 不得用于商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,均不包含技术服务请知悉!
5. 本站资源售价只是赞助,赞助费用仅维持本站的日常运营所需!
云码库 » wordpress纯代码实现分类目录手动排序

发表评论

提供最优质的资源集合

立即查看 了解详情