WordPressの管理画面の記事一覧(カスタム投稿一覧)に項目を追加する

デフォルトでは記事のタイトルと日付のみ表示されるわけですが、カテゴリー(ターム)とかアイキャッチのサムネイルとか、強いてはカスタムフィールとの一部なんかも一覧に表示させたいという場合のカスタマイズです。

一覧にカテゴリーを表示させる

  • カスタム投稿タイプ名: test
  • タクソノミー名: test_taxonomy
manage_edit-[カスタム投稿タイプ名]_columns (設定する関数)
manage_[カスタム投稿タイプ名]_posts_custom_column (表示する関数)

の2つのWordpressの関数をオーバーライドしてあげる感じになります。

function manage_add_column($columns) {
    $columns['category'] = "タクソノミー";
    return $columns;
}
add_filter( 'manage_edit-test_columns', 'manage_add_column' );
function manage_test_td($column_name, $post_id) {
    if( $column_name == 'category' ) {
//      echo $post_id;
        $category = array_shift(get_the_terms($post_id, 'test_taxonomy'));
        echo $category->name." (ID: ".$post_id.")";
    }
}
add_action( 'manage_test_posts_custom_column', 'manage_test_td', 10, 2 );

manage_add_column()関数は、任意のものでよいです。add_filter()関数でmanage_edit-[カスタム投稿タイプ名]columnsをオーバーライドするからです。
$columns[‘category’]には、編集画面の一覧で表示するカラム名を設定します。(通常日本語のターム名がよいでしょう。)
manage_test_td()関数も任意のものでよいです。manage
[カスタム投稿タイプ名]_posts_custom_column()関数をadd_action()でオーバーライドします。
get_the_terms()でタクソノミーからタームを拾います。get_the_terms()の第二引数にタクソノミー名を指定します。


http://www.dsm-update.info/wordpress/433/

Last update: 2018.04.11 (水)