WordPress投稿一覧に独自カラム(文字数・サムネイルなど)を追加する方法

WordPressの投稿一覧は、標準では「タイトル」「作成者」「カテゴリ」「日付」などしか表示されません。
しかし、記事を効率的に管理するために文字数サムネイルを表示させたいことがあります。
この記事では、functions.phpにコードを追加して独自カラムを作成する方法を紹介し、さらにLightningテーマCocoonテーマそれぞれの実装サンプルも用意しました。

基本編:文字数カラムを追加する


// 投稿一覧に文字数カラムを追加
function add_posts_columns_length($columns) {
    $columns['length'] = '文字数';
    return $columns;
}
add_filter('manage_posts_columns', 'add_posts_columns_length');

// 文字数を表示
function add_posts_custom_column_length($column, $post_id) {
    if ($column === 'length') {
        $content = get_post_field('post_content', $post_id);
        $length = mb_strlen(strip_tags($content));
        echo $length . '文字';
    }
}
add_action('manage_posts_custom_column', 'add_posts_custom_column_length', 10, 2);
  

これで投稿一覧に「文字数」カラムが追加されます。

基本編:サムネイルカラムを追加する


// 投稿一覧にサムネイルカラムを追加
function add_posts_columns_thumbnail($columns) {
    $columns['thumbnail'] = 'サムネイル';
    return $columns;
}
add_filter('manage_posts_columns', 'add_posts_columns_thumbnail');

// サムネイルを表示
function add_posts_custom_column_thumbnail($column, $post_id) {
    if ($column === 'thumbnail') {
        if (has_post_thumbnail($post_id)) {
            echo get_the_post_thumbnail($post_id, array(60, 60));
        } else {
            echo 'なし';
        }
    }
}
add_action('manage_posts_custom_column', 'add_posts_custom_column_thumbnail', 10, 2);
  

投稿一覧にアイキャッチ画像を表示でき、記事の管理がしやすくなります。

Lightningテーマ用カスタマイズ

Lightningではデフォルトで投稿一覧のカラム数が多いため、「文字数」と「サムネイル」をまとめて追加する例を紹介します。


// Lightning用 投稿一覧カスタムカラム
function lightning_add_custom_columns($columns) {
    $columns['length']    = '文字数';
    $columns['thumbnail'] = 'サムネイル';
    return $columns;
}
add_filter('manage_posts_columns', 'lightning_add_custom_columns');

function lightning_render_custom_columns($column, $post_id) {
    if ($column === 'length') {
        $content = get_post_field('post_content', $post_id);
        echo mb_strlen(strip_tags($content)) . '文字';
    }
    if ($column === 'thumbnail') {
        echo has_post_thumbnail($post_id) ? get_the_post_thumbnail($post_id, [60, 60]) : 'なし';
    }
}
add_action('manage_posts_custom_column', 'lightning_render_custom_columns', 10, 2);
  

日付、サムネイル追加

Lightningはビジネス向けに使われることが多いので、記事の内容や見栄えをすぐに確認できるようにしておくと便利です。

Cocoonテーマ用カスタマイズ

Cocoonでは文字数はデフォルトで表示されているため、「アイキャッチ画像」のみ追加します。


// Cocoon用 投稿一覧にアイキャッチカラムを追加
function cocoon_render_custom_columns($column, $post_id) {
    if ($column === 'length') {
        $content = get_post_field('post_content', $post_id);
    }
}
add_action('manage_posts_custom_column', 'cocoon_render_custom_columns', 10, 2);
  

Cocoon 日付、サムネイル追加

フックの仕組み解説

ここで使っているフックの意味を整理しておきましょう。

  • manage_posts_columns:投稿一覧に「新しいカラムを追加」するためのフィルター
  • manage_posts_custom_column:追加したカラムに「何を表示するか」を指定するアクション

例えば、次のコード:


add_action('manage_posts_custom_column', 'cocoon_render_thumbnail_column', 10, 2);
  

これは「投稿一覧のカスタムカラムを描画するときに cocoon_render_thumbnail_column() 関数を呼び出す」という意味です。
10 は優先度、2 は引数の数(カラムIDと投稿ID)を指定しています。

アイキャッチ画像だけならプラグインで可能です。

アイキャッチ画像だけでしたら「Quick Featured Images」プラグインで、アイキャッチ画像を表示するだけでなく、投稿一覧画面で追加できます。

まとめ

  • 基本編: 投稿一覧に「文字数」や「サムネイル」を追加できる
  • Lightning向け: サムネイル+文字数で管理性アップ
  • Cocoon向け: SEOや執筆管理のため文字数を強調表示
  • アイキャッチ画像だけなら「Quick Featured Images」プラグインで可能

投稿一覧をカスタマイズすることで、日常の管理作業が効率化します。
自分のテーマに合わせて最適なカラムを追加してみてください。