管理画面の投稿一覧にカスタムフィールドの値を表示する方法をご紹介いたします。
カスタムフィールド用の列を追加して、get_post_metaで値を表示させます。
WordPress管理画面の投稿一覧にカスタムフィールドの列を追加する方法
適用しているテーマのfunctions.phpに以下を追加しましょう。
function add_cf_posts_columns( $columns ) { $columns['cf'] = 'カスタムフィールド'; return $columns; } function cf_posts_custom_column( $column_name, $post_id ) { if ( $column_name == 'cf' ) { $cf_data = get_post_meta( $post_id , 'フィールド名' , true ); echo ( $cf_data ) ? $cf_data : 'None'; } } add_filter( 'manage_posts_columns', 'add_cf_posts_columns' ); add_action( 'manage_posts_custom_column', 'cf_posts_custom_column', 10, 2 );
列の名前とフィールド名の部分は変更してください。
カスタム投稿の一覧にカスタムフィールドの列を追加する場合
カスタム投稿の一覧に列を追加する場合は、”manage_posts_columns”を”manage_カスタム投稿名_posts_columns”に、”manage_posts_custom_column”を”manage_カスタム投稿名_posts_custom_column”に変更します。
例えば、カスタム投稿名が”event”の場合は、以下のように記述します。
function add_cf_posts_columns( $columns ) { $columns['cf'] = 'カスタムフィールド'; return $columns; } function cf_posts_custom_column( $column_name, $post_id ) { if ( $column_name == 'cf' ) { $cf_data = get_post_meta( $post_id , 'フィールド名' , true ); echo ( $cf_data ) ? $cf_data : 'None'; } } add_filter( 'manage_event_posts_columns', 'add_cf_posts_columns' ); add_action( 'manage_event_posts_custom_column', 'cf_posts_custom_column', 10, 2 );
固定ページの一覧にカスタムフィールドの列を追加する場合
固定ページの一覧にカスタムフィールドを表示する場合は、以下のようにします。
function add_cf_posts_columns( $columns ) { $columns['cf'] = 'カスタムフィールド'; return $columns; } function cf_posts_custom_column( $column_name, $post_id ) { if ( $column_name == 'cf' ) { $cf_data = get_post_meta( $post_id , 'フィールド名' , true ); echo ( $cf_data ) ? $cf_data : 'None'; } } add_filter( 'manage_pages_columns', 'add_cf_posts_columns' ); add_action( 'manage_pages_custom_column', 'cf_posts_custom_column', 10, 2 );
“manage_posts_columns”を”manage_pages_columns”に、”manage_posts_custom_column”を”manage_pages_custom_column”に変更します。
あとがき
投稿一覧でカスタムフィールドの値を確認できた方がわかりやすい場合は、ぜひ列を追加してみてください。
同等の手順で、カスタムタクソノミーの列を追加したり、最終更新日の列を追加することも可能です。