wordpress分类按ID排序的解决方法

最近优化WordPress发现,默认的分类排序是按name排序,MYSQL会出现慢查询.
于是搜索了一下,改改WordPress文件解决SQL慢查询
重要:特殊情况可以设置不排序
'orderby' => 'NULL'

WordPress前台分类按ID排序

打开文件/wp-includes/category-template.php
搜索function wp_list_categories
'orderby' => 'name'
修改为
'orderby' => 'id'

WordPress 4.6+后台分类按ID排序

1、修改分类目录页的排序,打开 wp-admin/edit-tags.php

找到

$dropdown_args = array(
将下面的

'orderby' => 'name',
改为

'orderby' => 'id',
2、修改文章列表页及文章编辑页的分类排序,打开 wp-includes/class-wp-term-query.php (WordPress4.6版大约在175行)
找到

$this->query_var_defaults = array(
在它下面几行就能看到

'orderby' => 'name',
将其改为

'orderby' => 'id',

WordPress 4.0+后台分类按ID排序

1、修改分类目录页的排序,打开 wp-admin/edit-tags.php

找到

$dropdown_args = array(
将下面的

'orderby' => 'name',
改为

'orderby' => 'id',
2、修改文章列表页及文章编辑页的分类排序,打开 wp-includes/taxonomy.php (WordPress4.5版大约在1174行)
找到

function get_terms( $args = array(), $deprecated = '' ) {
在它下面几行就能看到

'orderby' => 'name',
将其改为

'orderby' => 'id',
搞定,这样后台的分类排序就变成了按照id进行排序了。

补充一个TAG按次数排序


打开文件/wp-includes/category-template.php
搜索
function wp_tag_cloud
function wp_generate_tag_cloud
然后将
'orderby' => 'name' 修改为'orderby' => 'count'

参考来源: https://www.weisay.com/blog/wp-category-sort.html

发表评论