【WordPress】管理画面の投稿一覧にカスタムフィールドの項目を追加する方法

今回は、管理画面の投稿一覧にカスタムフィールドの項目を追加する方法をご紹介します。

 

完成形は、以下のようになります。

 

管理画面の投稿一覧にカスタムフィールドの項目を追加する方法

『functions.php』に以下のコードを追加します。

function add_posts_columns($columns) {
  $columns['cf'] = 'カスタムフィールド';
  return $columns;
}

function custom_posts_column($column_name, $post_id) {
  if ($column_name == 'cf') {
    $cf_date = get_post_meta($post_id, 'カスタムフィールドのフィールド名', true);
    echo ($cf_date) ? $cf_date : '-';
  }
}

add_filter('manage_posts_columns', 'add_posts_columns');
add_action('manage_posts_custom_column', 'custom_posts_column', 10, 2);

 

解説】管理画面の投稿一覧にカスタムフィールドの項目を追加する方法

コメントアウトにて解説を入れております。

function add_posts_columns($columns) {

  // $columns['他と被らない名前'] = '任意の名前';
  $columns['cf'] = 'カスタムフィールド';
  return $columns;
}

function custom_posts_column($column_name, $post_id) {

  // $column_name == '$columns['〇〇'] で指定した名前を入力'
  if ($column_name == 'cf') {

    // get_post_meta() でカスタムフィールド値の取得しています
    // get_post_meta() の第2引数にカスタムフィールドのフィールド名を指定してください
    $cf_date = get_post_meta($post_id, 'カスタムフィールドのフィールド名', true);

    // 三項演算子
    // カスタムフィールドに値があるかどうか ? ある場合 = カスタムフィールドの値を表示 : ない場合 = 『 - 』を表示
    echo ($cf_date) ? $cf_date : '-';
  }
}

add_filter('manage_posts_columns', 'add_posts_columns');
add_action('manage_posts_custom_column', 'custom_posts_column', 10, 2);

 

固定ページ・カスタム投稿の一覧にカスタムフィールドの項目を追加する方法

固定ページやカスタム投稿の一覧にカスタムフィールドの項目を追加したい場合は、『add_filter』『add_action』の箇所を下記のコードに変更してください。

// 固定ページ
add_filter('manage_pages_columns', 'add_posts_columns');
add_action('manage_pages_custom_column', 'custom_posts_column', 10, 2);

// カスタム投稿
add_filter('manage_カスタム投稿のスラッグ名_posts_columns', 'add_posts_columns');
add_action('manage_カスタム投稿のスラッグ名_posts_custom_column', 'custom_posts_column', 10, 2);
// カスタム投稿(例: カスタム投稿のスラッグ名 = news)
add_filter('manage_news_posts_columns', 'add_posts_columns');
add_action('manage_news_posts_custom_column', 'custom_posts_column', 10, 2);

 

【応用編】管理画面の投稿一覧にカスタムフィールド・アイキャッチ画像・閲覧数(PV)の項目を追加する方法

先程までは、管理画面の投稿一覧にカスタムフィールドの項目のみ追加しましたが、応用編として、カスタムフィールド・アイキャッチ画像・閲覧数(PV)の項目を追加します。

 

『functions.php』に以下のコードを追加します。

function add_posts_columns($columns) {
  $columns['thumbnail'] = 'アイキャッチ';
  $columns['cf'] = 'カスタムフィールド';
  $columns['post_views_count'] = 'Views';
  return $columns;
}

function custom_posts_column($column_name, $post_id) {
  if ('thumbnail' == $column_name) {
    $thumbnail = get_the_post_thumbnail($post_id, array(80, 80), 'thumbnail');
    echo ($thumbnail) ? $thumbnail : '';
  } elseif ($column_name == 'cf') {
    $cf_date = get_post_meta($post_id, 'number', true);
    echo ($cf_date) ? $cf_date : '-';
  } elseif ($column_name == 'post_views_count') {
    $column_count = get_post_meta($post_id, 'post_views_count', true);
    echo ($column_count) ? $column_count : '0';
  }
}

add_filter('manage_posts_columns', 'add_posts_columns');
add_action('manage_posts_custom_column', 'custom_posts_column', 10, 2);

 

ちなみに、管理画面の投稿一覧にカラムを追加すると、項目数が多くなりゴチャゴチャしてくるため、右上の『表示オプション』より、不要な項目は非表示にしてあげてください。

 

今回は以上です。

SNSでもご購読できます。

コメントを残す

前の記事

次の記事