最近优化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
此处评论已关闭