如何对wp_list_ategories中的结果进行自定义排序?

时间:2012-07-10 作者:Ryan

我正在使用wp_list_categories 返回(您猜对了)自定义分类法中的类别列表。这个orderby 参数接受按ID、名称、slug、count和term\\u组排序。有没有一种方法可以自定义结果排序?理想情况下,我可以按所需的顺序传递一个类别ID数组,但显然我必须深入挖掘才能对其进行排序。

1 个回复
最合适的回答,由SO网友:Chris_O 整理而成

wp\\u term\\u relationships表中有一个未使用的列term\\u order,可用于为分类法中的术语指定自定义顺序。默认情况下,订单设置为0,需要自定义查询才能取回订单,需要其他解决方案才能设置订单。

查询示例:

function wpse_order_taxes() {
        global $wpdb;
        $results = $wpdb->get_results ( "SELECT * FROM $wpdb->terms t inner join $wpdb->term_taxonomy tt on t.term_id = tt.term_id WHERE taxonomy = \'category\'  ORDER BY term_order ASC LIMIT 0, 10" );
        $categories = array();
        foreach ( $results as $cat ) {
            array_push( $categories, $cat->slug );
        }
        return $categories;
    }
这将返回按自定义订单排序的术语数组。

结束

相关推荐

Custom loop by url

因此,目前我有一个“搜索”的工作,即:如果我做www.domain。com/search/query,它返回在单词“query”上找到的所有内容。我想利用我在搜索中创建的循环/模板。php,但将其更改为POST。然后尽可能查询特定的帖子类别,例如:www.domain。com/posts/类别1我想这一切都源于改变<?php get_template_part(\'loop\', \'search\'); ?> wordpress是个新手,所以非常感谢您的帮助或建议!