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 アクションでカスタムフィールドの値を表示する
- カスタム投稿タイプにも対応可能
- カスタムフィールド未設定時の対応も忘れずに
管理画面の利便性を高めるために、ぜひこの方法を取り入れてみてください!