国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > WordPress > WordPress分类导航排序的方法,无需要插件

WordPress分类导航排序的方法,无需要插件

来源:程序员人生   发布时间:2014-06-09 23:18:10 阅读次数:5477次

记得曾经用过一个WordPress分类目录排序插件,但发现只能够排序侧边栏中的分类目录,无法排序导航栏的分类,关于WordPress导航菜单排序一直是个头疼的问题。

当然,你可以手写HTML,也可以使用WordPress自定义菜单功能排序(3.0以上版本,需主题的支持。) 现在我们就通过分类ID来排序。

首先,我们明白WordPress分类排序的原理:WordPress 文章分类目次的排序默认按照尾字母的英文字母去的,中文汉字是依照第一个汉字的笔划次序来的,分歧范例的排序则顺次是中文汉字–数字–26个英文字母。

其次,找出WordPress分类目录的ID,WordPress再每添加一个分类的时候,都自动为分类添加了一个ID ,所以,通过排序分类ID最为简单。自然,你必须要知道这个分类的ID是多少。方法:进入WordPress后台——分类目录——把鼠标放在你要查看的分类目录上,注意看浏览器地址栏会显示分类的ID 如:edit&cat_id=3

正式开始:修改wp_list_categories函数,在wp-includes/category- template.php中找到

function wp_list_categories( $args = ” ) { 
    $defaults = array( 
        ‘show_option_all’ => ”, ‘orderby’ => ‘name’, 
        ‘order’ => ‘ASC’, ‘show_last_update’ => 0, 
        ‘style’ => ‘list’, ‘show_count’ => 0, 
        ‘hide_empty’ => 1, ‘use_desc_for_title’ => 1, 
        ‘child_of’ => 0, ‘feed’ => ”, ‘feed_type’ => ”, 
        ‘feed_image’ => ”, ‘exclude’ => ”, ‘exclude_tree’ => ”, ‘current_category’ => 0, 
        ‘hierarchical’ => true, ‘title_li’ => __( ‘Categories’ ), 
        ‘echo’ => 1, ‘depth’ => 0 
    );

将’show_option_all’ => ”, ‘orderby’ => ‘name’中的orderby’ => ‘name’ 改成’orderby’ => ‘id’  这样,分类就会自动按照ID来排序了,如果你创建的分类目录的ID顺序刚好是你想要排序的顺序,那就最好了,导航菜单马上就由按名称排序变为按ID排序了!如果不是,那就老老实实重新创建吧,如果已经有了很多内容的站,那就自己去数据库的wp_terms数据表中更改分类的ID吧!

修改中你可能用到的函数

修改中你可能会用到的参数。
orderby 参数

根据某个字段进行排序,参数值 ID | name | count。
<?php wp_list_categories(‘orderby=count’); ?>

3. order 
排序方式,升序或降序,参数值:ASC | DESC。
<?php wp_list_categories(‘order=DESC’); ?>

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生