カスタムタクソノミーを複数使っているWordPressのサイトを作りました。
カスタムタクソノミーの登録には「Custom Post Type UI」というプラグインを使っていました。
登録したカスタムタクソノミーは5個ぐらいあったのですが、ふと、任意の順番に並び替えたい場面が出てきました。
タームの並べ替えではなく、カスタムタクソノミー自体の並べ替えです。
カスタムタクソノミーは以下のようなコードで取得できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
/* -------------------------------------------------- // 組み込み以外のカスタムタクソノミーを取得 -------------------------------------------------- */ function get_my_taxonomies(){ $args = array( 'public' => true, '_builtin' => false ); $output = 'names'; // or objects $operator = 'and'; // 'and' or 'or' $tax_arr = get_taxonomies( $args, $output, $operator ); return $tax_arr; } |
これで自分で登録したカスタムタクソノミーの情報を取得できるのですが、どうも順番が気に入らない。
並び替えるためにプラグインで何か設定をできないかと調べましたが、カスタムタクソノミーを登録する「register_taxonomy」という関数自体にそういう引数がないみたいで。。
じゃぁ今の状態はどういう順番なのかな?と思い、名前やスラッグを疑いましたがその順番は全く関係ありませんでした。
あとは登録した順番かなぁと思いながら「Custom Post Type UI」の設定画面をいろいろ見ていると、管理画面「CPT UI」->「ツール」の画面に「コードの取得」というのがありました。
見てみるとfunctions.phpにコピペできるようコードが準備されていました。
これがあればプラグイン自体も不要になりますね。
中を見てみると、現在の登録順で記載されていました。
さっそくfunctions.phpに貼り付けて任意の順番に変更すると無事、希望通りの順番になりました。
functions.phpに設定を追加したのでプラグインは無効化しておきます。
プラグインからfunctions.phpに切り替える時に何か不具合が起きないか少し不安でしたが、私の場合は特に問題なく移行することができました。
管理画面からカスタムタクソノミーの編集等できなくなるのが少し残念かもしれません。