ブログ向けWordPressテーマ「SWELL」をリリースしました!

WordPress管理画面のカテゴリー・タグの一覧テーブルにIDを表示する方法

WordPress管理画面のカテゴリー・タグの一覧テーブルにIDを表示する方法

WordPressの管理画面にあるカテゴリー・タグ一覧テーブルにID用のカラムを追加し、表示する方法をメモ。

カテゴリーIDやタグIDを管理画面から簡単に確認できるようにしたい場合に便利です。

目次

カテゴリー・タグ一覧テーブルにIDを表示するコード

まずは今回の完成コードをお見せしておきます。

以下をfunctions.phpへコピペするだけでOKです。

カテゴリー・タグの一覧画面テーブルにIDカラム追加

//カラム追加( 2列目に追加 )
function add_term_columns( $columns ) {
    return array_merge(
        array_slice($columns, 0, 2),
        array('id' => 'ID'),
        array_slice($columns, 2)
    );
}
add_filter('manage_edit-category_columns' , 'add_term_columns');
add_filter('manage_edit-post_tag_columns' , 'add_term_columns');


//追加されたカラムへの表示内容
function add_term_custom_column( $content, $column_name, $term_id ) {
    if ( 'id' === $column_name ) {
        $content = $term_id;
    }
    return $content;
}
add_filter( 'manage_category_custom_column', 'add_term_custom_column', 10, 3 );
add_filter( 'manage_category_custom_column', 'add_term_custom_column', 10, 3 );

解説

カテゴリー・タグだけでなく、タクソノミーに共通して、manage_edit-{taxonomy}_columnsというフィルターフックでターム一覧テーブルのカラム(表の列)をカスタマイズできます。

加えて、manage_{taxonomy}_custom_columnというフィルターフックで、それぞれのカラムに表示する内容をカスタマイズすることができるようになっています。

つまり、

  • カテゴリーとタグの一覧テーブルに「ID」という名前のカラム(表の列)を追加するためのコード
  • その追加したカラムに実際にカテゴリー・タグのIDを出力するためのコード

という2段階の処理が必要になります。

前者のmanage_edit-{taxonomy}_columnsのカテゴリー・タグ版は以下の2つです。

  • manage_edit-category_columns
  • manage_edit-post_tag_columns

また、後者のmanage_{taxonomy}_custom_columnのカテゴリー・タグ版が以下の2つとなります。

  • manage_category_custom_column
  • manage_category_custom_column

これらのフック先にそれぞれ処理を加えているのが、上記のコードとなります。

add_term_columns()の中身について

array_merge()array_slice()を使用してなにやらごにょごにょしていますが、既存のテーブルの2列目にID用の列を加えたいだけの配列操作です。

一番最後尾の列に追加するのであれば、以下の処理で十分です。

function add_term_columns( $columns ) {
    $columns['id'] = 'ID';
    return $columns;
}

IDの昇順・降順でカテゴリー・タグの表をソートできるようにする方法

IDの表示に加え、ついでにソート機能もつけたいという場合は、以下のコードをfunctions.phpにコピペしてください。

// IDカラムでのソートを可能に
function add_term_sortable_columns( $columns ) {
    $columns['id'] = 'ID';
    return $columns;
}
add_filter( 'manage_edit-category_sortable_columns', 'add_term_sortable_columns' );
add_filter( 'manage_edit-post_tag_sortable_columns', 'add_term_sortable_columns' );

この記事が気に入ったら
フォローしてね!

目次
目次