【WordPress】管理画面の投稿一覧にカスタムフィールドの値を表示する方法

【WordPress】管理画面の投稿一覧にカスタムフィールドの値を表示する方法 WordPress

WordPressでは、投稿一覧画面(管理画面)にカスタムフィールドの値を表示させることで、各投稿の情報を素早く把握できるようになります。

本記事では、投稿一覧にカスタムフィールドの値を表示する具体的な方法を、実装手順に沿ってわかりやすく解説します。

投稿一覧にカスタムフィールドのカラムを追加する方法

カラム(列)を追加する

まず、投稿一覧にカスタムフィールド用のカラムを追加するために、manage_posts_columns フィルターを使用します。

function add_custom_column($columns) {
    $columns['custom_field'] = 'カスタムフィールド名';
    return $columns;
}
add_filter('manage_post_posts_columns', 'add_custom_column');
  • $columns に新しいカラムを追加するだけでOKです。
  • ‘manage_【投稿タイプ】_posts_columns’ にすることで、カスタム投稿タイプにも対応できます。

カスタムフィールドの値を表示する

続いて、追加したカラムにカスタムフィールドの値を表示するため、manage_posts_custom_column アクションを利用します。

function show_custom_field_value($column_name, $post_id) {
    if ($column_name == 'custom_field') {
        $value = get_post_meta($post_id, 'カスタムフィールドのキー', true);
        echo esc_html($value);
    }
}
add_action('manage_post_posts_custom_column', 'show_custom_field_value', 10, 2);
  • get_post_meta() 関数で投稿のカスタムフィールドの値を取得します。
  • 出力時には、esc_html() を使って安全に表示しましょう。

カスタム投稿タイプにも対応可能

カスタム投稿タイプ(例:投稿タイプスラッグが event の場合)にも同様の方法で対応できます。

// カラム追加
add_filter('manage_event_posts_columns', 'add_custom_column');

// 値の表示
add_action('manage_event_posts_custom_column', 'show_custom_field_value', 10, 2);

投稿タイプごとに、フィルター名・アクション名を適切に変更するだけで、柔軟に対応可能です。

カスタムフィールドがない場合の表示処理

カスタムフィールドの値が空の場合、何も表示されないと管理しづらくなるため、未設定時の表示を工夫するのもおすすめです。

function show_custom_field_value($column_name, $post_id) {
    if ($column_name == 'custom_field') {
        $value = get_post_meta($post_id, 'カスタムフィールドのキー', true);
        echo $value ? esc_html($value) : '未設定';
    }
}

このようにしておくと、カスタムフィールドが未入力の場合でも「未設定」と表示され、視認性が向上します。

まとめ

  • manage_posts_columns フィルターで投稿一覧にカラムを追加する
  • manage_posts_custom_column アクションでカスタムフィールドの値を表示する
  • カスタム投稿タイプにも対応可能
  • カスタムフィールド未設定時の対応も忘れずに

管理画面の利便性を高めるために、ぜひこの方法を取り入れてみてください!