固定ページ一覧に使われているテンプレートを表示する方法

Cocoonカスタマイズ集
この記事は約2分で読めます。
記事内に広告が含まれています。

はじめに

以下をCocoonで実現します。

ショートコードを使うのではなく、固定ページ一覧画面に新しいカラムを追加し、そのカラムに各ページで使用されているテンプレート名を表示します。

完成イメージ

実装手順

以下のコードをfunctions.phpに追加します。

// 管理画面一覧にカラムを追加
add_filter('manage_pages_columns', function ($columns) {
  $columns['page_template'] = 'テンプレート';

  return $columns;
});


// 管理画面一覧のカラムにデータを表示
add_action('manage_pages_custom_column', function ($column_name, $post_id) {
  if ($column_name !== 'page_template') {
    return;
  }

  $template_slug = get_page_template_slug($post_id);

  if (!$template_slug) {
    echo 'デフォルト';
    return;
  }

  // 現在のテーマからテンプレート一覧を取得
  $templates = wp_get_theme()->get_page_templates(get_post($post_id));

  echo esc_html($templates[$template_slug] ?? $template_slug);
}, 10, 2);

さいごに

今回紹介した方法を使えば、管理画面の固定ページ一覧でどのページがどのテンプレートを使用しているかをひと目で確認できるようになります。
これにより、大量のページ管理時にテンプレートの割り当て状況を効率よく把握しやすくなります。

タイトルとURLをコピーしました