管理画面の投稿一覧では、カテゴリーやタグの列は存在しますが、カスタムタクソノミーの列はありません。カスタムタクソノミーを作成しても、列は追加されないんです。設定したカスタムタクソノミーを確認するには、記事の編集画面にアクセスする必要があります。
投稿一覧でも設定したカスタムタクソノミーが確認できるようになった方が便利ですよね。そこで今回は、投稿一覧にカスタムタクソノミーの列を追加するためのカスタマイズ手順をご紹介いたします。
投稿一覧に列を追加する
管理画面の投稿一覧に列を追加するには、利用しているテーマのfunctions.phpをカスタマイズします。
まずは、追加の列を作成するために、以下のようなコードを追加します。
function add_custom_column( $defaults ) { $defaults['列の名前'] = 'タクソノミー'; return $defaults; } add_filter('manage_posts_columns', 'add_custom_column');
2行目の’列の名前’は任意の名前に変更してください。’タクソノミー’の部分が表示される列の見出しになるのでここも変更してください。
また、上記では通常の投稿一覧に列を追加しますが、カスタム投稿タイプの投稿一覧に列を追加したい場合は、5行目のmanage_posts_columnsをmanage_[投稿タイプ名]_posts_columnsに変更します。カスタム投稿タイプ名が”test”だったら、manage_test_posts_columnsです。
コードを追加したら、以下のように列が追加されます。
今回の場合”タクソノミー”という列が追加されていますね。
投稿一覧に追加した列にタクソノミーを表示する
列を追加したら、続いて列の内容を設定していきます。列を追加したときと同じくfunctions.phpに、以下のコードを記述します。
function add_custom_column_id($column_name, $id) { if( $column_name == '列の名前' ) { echo get_the_term_list($id, 'タクソノミー名', '', ', '); } } add_action('manage_posts_custom_column', 'add_custom_column_id', 10, 2);
3行目のget_the_term_listでカスタムタクソノミーの内容を呼び出します。’列の名前’の部分は先ほど指定した列の名前を指定します。
また、先ほどと同じようにカスタム投稿タイプの一覧に列を追加したい場合は、manage_posts_custom_columnをmanage_[投稿タイプ名]_posts_custom_columnに変更します。
これで、投稿に設定しているカスタムタクソノミーの内容が列に表示されます。
まとめ
上記をまとめると、以下のコードをfunctions.phpに追加することで、カスタムタクソノミーの列を表示させることができます。
function add_custom_column( $defaults ) { $defaults['列の名前'] = 'タクソノミー'; return $defaults; } add_filter('manage_posts_columns', 'add_custom_column'); function add_custom_column_id($column_name, $id) { if( $column_name == '列の名前' ) { echo get_the_term_list($id, 'タクソノミー名', '', ', '); } } add_action('manage_posts_custom_column', 'add_custom_column_id', 10, 2);
環境に合わせて内容を変更しないと、ちゃんと表示されないのでご注意ください。
manage_[投稿タイプ名]_posts_columns
manage_[投稿タイプ名]_posts_custom_column
の部分ですが、投稿タイプを追加すると表示されませんでした。
最新バージョンでは
manage_posts_columns
manage_posts_custom_column
で処理するようです。
バージョン3.9.1
manage_[投稿タイプ名]_posts_columns
manage_[投稿タイプ名]_posts_custom_column
当記事にも書いていますが、これはカスタム投稿タイプの場合です。
通常の投稿であれば、投稿タイプ名は必要ありません。
バージョン3.9.1でも確認してみましたが、カスタム投稿の場合でもちゃんとカスタムタクソノミーの列は追加されました。
めっちゃわかりやすくて助かりました!
ありがとうございます!
コメントありがとうございます。お役に立てたみたいで光栄です^^