HOMEPAGE TIPS BLOG

ホームページ制作TOP > Web技術Tips > カスタムタクソノミー一覧を任意の順番にソートする方法
Teambook -リモート時代のマニュアル・日報システム-
カスタムテンプレートサイト / KOTETSU
[期間限定] 標準クオリティープラン  WEBサイト制作20%OFF
失敗しないWeb制作会社の選び方
WordPress

カスタムタクソノミー一覧を任意の順番にソートする方法

WordPress2014.03.25

get_terms関数を使ってカスタムタクソノミーのリストを表示させることがしばしばあると思います。
そのリストを任意の順番で並べ替えたい(ソート)ときは、カスタムタクソノミー設定時の「説明」に番号を振っていくことで実現することができます。

カスタムタクソノミー20140325

図のように東京の説明に000、神奈川に001等を設定し、任意の順番でソートをかけることができるようにできます。ただし次のコードでは動きません。

$terms = get_terms($taxonomy,
    array(
        'parent' => 0,
        'orderby' => 'description'
    )
);

ソートが効くようにするために、WordPressフォーラムにあるように次のようなコードをfunctions.phpに追加する必要があります。

function taxonomy_orderby_description( $orderby, $args ) {

    if ( $args['orderby'] == 'description' ) {
        $orderby = 'tt.description';
    }
    return $orderby;
}
add_filter( 'get_terms_orderby', 'taxonomy_orderby_description', 10, 2 );

カスタムタクソノミーの並べ替えプラグインもありますが、プラグインはあまり多用したくないという方には良い方法だと思います。

この記事は公開から 2498 日経っているため、情報が古くなっている可能性があります。

PAGE TOP