web関連

【wordpress】「投稿」の一覧に「カテゴリー」を表示する方法

【wordpress】「投稿」の一覧に「カテゴリー」を表示する方法

wordpress管理画面の「投稿」一覧にどの「カテゴリー」に所属しているかどうかわかるように「カテゴリー」を表示したかった時の備忘録

やりたかったこと

管理画面の「投稿」一覧に「カテゴリー」項目追加

「投稿」の一覧に「カテゴリー」を表示するコード

functions.phpに書く

// ↓出したい項目の枠を用意する関数
function my_add_columns($columns) {
// ↓「category_name」のところは変更ok、用意した枠のclassについたりする
  $columns['category_name'] = 'カテゴリー(一覧に出す項目の名称)';
  unset($columns['date']);//日時を消す
  return $columns;
}
// ↓manage_edit-(ここ替える)_columns
// ※「投稿」だから「post」
add_filter( 'manage_edit-post_columns', 'my_add_columns' );

// 出したい項目の中身を出力する関数
function my_add_columns_content($column_name, $post_id) {
    // ↓ここの「category_name」はこのコードの4行目で変更してたら変える
  if( $column_name == 'category_name' ) {
    // ↓カテゴリー情報取得して出力(ここで取得したい情報なんか変えたりする)
    $metas = get_the_category($post_id);
    // ↓カスタム投稿のタクソノミーの時はこっち
    // $metas = get_the_terms($post_id,'タクソノミー名');
    $stitle = $metas[0]->name;
  }
  //$stitleの中身あれば出力
  if ( isset($stitle) && $stitle ) {
    echo esc_attr($stitle);
  }
}
// ↓manage_(ここ替える)_posts_custom_column
// ※「投稿」だから「post」
add_action( 'manage_post_posts_custom_column', 'my_add_columns_content', 10, 2 );
応用すればカスタム投稿なんかにも使えるし、取得したい項目なんかも替えれば他にも使いまわせそう

参考(わかりやすかった)

▼管理画面の記事一覧に項目を追加するやつ
https://b-risk.jp/blog/2017/02/wp_admin_list_columns/

▼日時消すの載ってる
https://www.dsm-update.info/wordpress/433/

管理画面の一覧とかに項目を追加するのコピペばっかりだったからめちゃくちゃ勉強になった