WordPress:管理画面のカテゴリーやタクソノミー一覧ページにID(タームID)項目を追加する方法

WordPress:管理画面のカテゴリーやタクソノミー一覧ページにID(タームID)項目を追加する方法

WordPressで管理画面のカテゴリーやカスタムタクソノミー一覧ページにID(タームID)の項目を追加する方法です。
いちいちリンク部分にホバーしてリンク先のURLを確認したり詳細ページで確認したりする必要がなくなるので、何らかの理由で頻繁にIDを確認するときに便利です。

「ID」項目の追加後イメージ

以下ではカテゴリーとカスタムタクソノミーとでそれぞれ紹介していますが、いずれも実装後はイメージの一番右のように「ID」という項目が追加されるようになります。
また、項目の追加に加えてここに昇順・降順を切り替えるソート機能も実装していきます。

カテゴリーの場合

デフォルトの「投稿」に用意されているカテゴリー一覧ページでID(タームID)項目を追加したい場合は、functions.phpに下記のように記述します。

functions.php

function add_category_columns( $columns ) {
  echo '<style>
  .taxonomy-category .manage-column.num {width: 90px;}
  .taxonomy-category .manage-column.column-id {width: 60px;}
  </style>';

  $columns['id'] = 'ID';
  return $columns;
}
function add_category_sortable_columns( $columns ) {
  $columns['id'] = 'ID';
  return $columns;
}
function custom_category_column( $content, $column_name, $term_id ) {
  if ( $column_name == 'id' ) {
    echo $term_id;
  }
}
add_filter( 'manage_edit-category_columns', 'add_category_columns' );
add_filter( 'manage_edit-category_sortable_columns', 'add_category_sortable_columns' );
add_action( 'manage_category_custom_column', 'custom_category_column', 10, 3 );

コードは上からカラムの追加、ソート機能、カラムに表示させる内容の実装になっており、スタイル指定についてはカラムの幅調整用なので不要であれば削除して問題ありません。

カスタムタクソノミーの場合

カスタムタクソノミーの場合も基本的には上で紹介したカテゴリーと同様で、異なる点としてフック名に適用したいタクソノミー名を入れる必要があり、具体的には下記3つのフックで{taxonomy}としている箇所を変更していきます。(上のカテゴリーの場合はこれらがcategoryとなっていました。)

  • manage_edit-{taxonomy}_columns
  • manage_edit-{taxonomy}_sortable_columns
  • manage_{taxonomy}_custom_column

上記を踏まえ、例えば「news_cat」というカスタムタクソノミーを使用している場合は、functions.phpに下記のように記述します。

functions.php

function add_taxonomy_columns( $columns ) {
  echo '<style>
  .taxonomy-news_cat .manage-column.num {width: 90px;}
  .taxonomy-news_cat .manage-column.column-id {width: 60px;}
  </style>';

  $columns['id'] = 'ID';
  return $columns;
}
function add_taxonomy_sortable_columns( $columns ) {
  $columns['id'] = 'ID';
  return $columns;
}
function custom_taxonomy_column( $content, $column_name, $term_id ) {
  if ( $column_name == 'id' ) {
    echo $term_id;
  }
}
add_filter( 'manage_edit-news_cat_columns', 'add_taxonomy_columns' );
add_filter( 'manage_edit-news_cat_sortable_columns', 'add_taxonomy_sortable_columns' );
add_action( 'manage_news_cat_custom_column', 'custom_taxonomy_column', 10, 3 );

カテゴリーと同様、スタイル指定についてはカラムの幅調整用なので不要であれば削除して問題ありません。


WordPressで管理画面に関するその他のカスタマイズは以下にまとめているので、興味ある方はこちらもご覧ください。

Close the search window,
please press close button or esc key.