wordpress居然分类不带排序功能,搜索了下解决办法,大部分都是需要插件,麻烦.我看,还是自己动手,丰衣足食,想咋的就咋地.

下面说一下研究了一天的结果,以供参考.本方法的思路:往分类的表里加入排序字段,然后在页面上加入相关的支持.

1.首先得往wordpress分类表里加入排序字段displayorder(类型为int).

经研究,此表为wp_terms.加完后,就给你需要排序的分类依次排序,结果如下:

2.打开wp-includes目录下taxonomy.php文件,由于wordpress的搜索逻辑默认没有对新加入的字段支持,得进行修改.

找到如下位置

    else if ( ‘name‘ == $orderby )

  1. $orderby = ‘t.name‘;

大概在615行,在这个位置下加入如下代码,以获得其对displayorder排序字段的支持

    else if ( ‘displayorder‘ == $orderby )

  1. $orderby = ‘t.displayorder‘;

3.在wp-content/themes目录下,找到你所用的模板目录,然后编辑sidebar.php页.这一步主要是往模板页里的分类函数加入排序方式的参数.
找到wp_list_categories函数,我的如下:

    <?php wp_list_categories(‘show_count=1&title_li=<h6>categories</h6>‘); ?>

修改为

    <?php wp_list_categories(‘orderby=displayorder&show_count=1&title_li=<h6>categories</h6>‘); ?>

done.

本文转自 http://www.salontino.net/?p=154

Published in Word Press

No Responses to “解决wordpress分类排序(改数据库和模板)”

Leave a Reply

请输入算式结果(看不清请点击图片)
(必须)