WordPress:ダッシュボードの投稿一覧にカスタムフィールドの値を表示

Date :
Category :
WordPress » カスタムフィールド
Share this :

WordPressのダッシュボード(管理画面)での投稿一覧は、標準の状態ではカスタムフィールドの値を表示できませんので、投稿一覧に記事で使用しているカスタムフィールドの値を表示させるようにします。

記事作成画面を開かなくても、ダッシュボードの投稿一覧画面でカスタムフィールドの値が確認出来るようになるので、利便性が向上し入力忘れの防止にも使えます。

投稿一覧にカスタムフィールドの値を表示する記述

function.phpに記述を行います。

例) 天気を入力するカスタムフィールドを投稿一覧に表示させる場合

  • カスタムフィールドの名前:weather
  • カスタムフィールドの値:「晴れ」とか「曇り」とか「雨」
  • 投稿一覧上で表示させたいの項目タイトル:天気

function.php

  • 2、6、7行目の3カ所に、追加するカスタムフィールドの名前を入力
  • 2行目の = ” “内に投稿一覧上で表示させたい項目のタイトルを入力
function manage_posts_columns($columns) {
	$columns['weather'] = "天気";
	return $columns;
}
function add_column($column_name, $post_id) {
	if( $column_name == 'weather' ) {
		echo attribute_escape(get_post_meta($post_id, 'weather', true));
	}
}
add_filter( 'manage_posts_columns', 'manage_posts_columns' );
add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );

このように記述することで、ダッシュボードの投稿一覧に「天気」という項目が追加され、記事作成時に入力した値「晴れ・曇り・雨」が表示されるようになります。

また、投稿一覧に複数のカスタムフィールドを表示させる場合は、上記と同じ要領で追加するカスタムフィールドの数だけ設定に必要な行を追加します。

function manage_posts_columns($columns) {
	$columns['customfield-A'] = "Aのタイトル";
	$columns['customfield-B'] = "Bのタイトル";
	return $columns;
}
function add_column($column_name, $post_id) {
	if( $column_name == 'customfield-A' ) {
		echo attribute_escape(get_post_meta($post_id, 'customfield-A', true));
	}
	if( $column_name == 'customfield-B' ) {
		echo attribute_escape(get_post_meta($post_id, 'customfield-B', true));
	}
}
add_filter( 'manage_posts_columns', 'manage_posts_columns' );
add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );

以上、「WordPress:ダッシュボードの投稿一覧にカスタムフィールドの値を表示」でした。