WordPress:ダッシュボードの投稿一覧にカスタムフィールドの値を表示
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:ダッシュボードの投稿一覧にカスタムフィールドの値を表示」でした。