管理画面の投稿一覧にカスタムタクソノミーの列を表示させる方法

管理画面の投稿一覧にカスタムタクソノミーの列を表示させる方法

管理画面の投稿一覧にカスタムタクソノミーの列を表示させる方法

管理画面の投稿一覧では、カテゴリーやタグの列は存在しますが、カスタムタクソノミーの列はありません。カスタムタクソノミーを作成しても、列は追加されないんです。設定したカスタムタクソノミーを確認するには、記事の編集画面にアクセスする必要があります。

投稿一覧でも設定したカスタムタクソノミーが確認できるようになった方が便利ですよね。そこで今回は、投稿一覧にカスタムタクソノミーの列を追加するためのカスタマイズ手順をご紹介いたします。

スポンサードリンク

投稿一覧に列を追加する

管理画面の投稿一覧に列を追加するには、利用しているテーマの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);

環境に合わせて内容を変更しないと、ちゃんと表示されないのでご注意ください。

この記事が気に入ったら
いいね!してね♪

Twitter で
スポンサードリンク

関連記事

4 thoughts on “管理画面の投稿一覧にカスタムタクソノミーの列を表示させる方法

  1. 匿名

    manage_[投稿タイプ名]_posts_columns
    manage_[投稿タイプ名]_posts_custom_column

    の部分ですが、投稿タイプを追加すると表示されませんでした。
    最新バージョンでは
    manage_posts_columns
    manage_posts_custom_column

    で処理するようです。
    バージョン3.9.1

    1. himecas Post author

      manage_[投稿タイプ名]_posts_columns
      manage_[投稿タイプ名]_posts_custom_column

      当記事にも書いていますが、これはカスタム投稿タイプの場合です。

      通常の投稿であれば、投稿タイプ名は必要ありません。

      バージョン3.9.1でも確認してみましたが、カスタム投稿の場合でもちゃんとカスタムタクソノミーの列は追加されました。

takashi へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です