【WordPress】管理機能のカスタム投稿一覧ページにカスタムフィールド列を追加




管理機能のカスタム投稿一覧ページにカスタムフィールドを追加する手順です。
投稿一覧への追加とほとんど同じなので簡単に説明します。

管理機能のカスタム投稿一覧にカスタムフィールド列を追加する手順

前提条件

・newsというカスタム投稿が設定されていることを前提とします。
・newsカスタム投稿にはカスタムフィールド(ranking(ランキング))が定義されていて、ランキング列を一番右に追加することとします。

(1)列の追加設定

functions.phpに以下を追加します。

function add_news_columns($columns) {
    // 内部的なカラム名(次の(2)で利用します) = 列のタイトル(表示する名称)
    $columns['ranking'] = 'ランキング';
    return $columns;
}
add_filter('manage_news_posts_columns', 'add_news_columns');

(2)追加した列の各データ行にカスタムフィールド値の表示処理

以下もfunctions.phpに追加します。

function add_news_column_data($column_name, $post_id) {
    if ('ranking' == $column_name) {
        echo get_post_meta($post_id, 'ranking', true);
    }
}
add_action( 'manage_news_posts_custom_column', 'add_news_column_data', 10, 2 );

(3)動作確認

設定は上記で完了です。
あとは管理機能のカスタム投稿一覧ページを開き、設定されていることを確認できれば完了となります。

複数列追加したい場合

投稿一覧に追加する方法と同じなので省略します。