web-dev-qa-db-ja.com

Wp_list_categoriesからの結果をカスタム注文するにはどうすればよいですか?

私は wp_list_categories を使用して、カスタム分類法内のカテゴリのリストを返します(あなたはそれを推測しました)。 orderbyパラメーターは、ID、名前、スラッグ、カウント、およびterm_groupによるソートを受け入れます。結果をカスタムソートできる方法はありますか。理想的には、希望する順序でカテゴリIDの配列を渡すことができますが、明らかにこれをソートするにはもう少し深く掘り下げる必要があります。

3
Ryan

Wp_term_relationshipsテーブルには未使用の列term_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;
    }

これにより、カスタムオーダーで並べられた一連の用語が返されます。

5
Chris_O