WordPressのテンプレート階層をわかりやすく解説!

WordPressのテーマ制作やカスタマイズを行うとき、「どのテンプレートファイルが使われているのか?」が分からなくなることがあります。この記事では、WordPressのテンプレート階層について、初心者でも理解しやすいように解説します。

1 🧭 テンプレート階層とは?

WordPressはページの種類(固定ページ・投稿・カテゴリページなど)によって、表示するテンプレートファイルを自動的に切り替えています。

例えば、トップページ・投稿ページ・カテゴリページでは使われるテンプレートが違います。

1.1 テンプレート階層の基本構造


front-page.php
│
├─ home.php
│
└─ index.php
  

このように、上から順に優先度が高く、該当するファイルが存在しない場合は次のファイルに処理が渡されていきます。

2 🏠 各テンプレートファイルの役割

ファイル名 使われるタイミング 説明
front-page.php 「設定 > 表示設定」で「固定ページをフロントページに設定」したとき いわゆる「トップページ専用テンプレート」です。サイトのメインビジュアルやサービス紹介などを自由にデザインしたい場合に使われます。
home.php 投稿一覧ページ(ブログトップ)を表示するとき 「投稿ページ」に指定した固定ページ、または最新の投稿リストが表示されるページです。
index.php どのテンプレートも該当しないときに使用 WordPressの「最後の砦」。どのテンプレートも見つからない場合に必ず呼び出されるファイルです。

3 🧠 どのテンプレートが使われているかを確認する方法

今どのテンプレートファイルが使われているかを確認するには、functions.phpに次のコードを一時的に追加してみましょう。


add_action('wp_footer', function() {
  global $template;
  echo '<div style="position:fixed;bottom:10px;left:10px;background:#000;color:#fff;padding:5px;z-index:9999;">';
  echo 'Template: ' . basename($template);
  echo '</div>';
});
  

ページ下部に「Template: front-page.php」などと表示され、実際にどのテンプレートが使われているか一目で分かります。

4 💡 まとめ

  • front-page.php → 固定ページをフロントに設定したときのトップ専用
  • home.php → ブログ一覧(投稿ページ)に使われる
  • index.php → 最後のフォールバック(必ず必要)

WordPressテーマを作るときは、このテンプレート階層を理解しておくことで、表示のコントロールが格段にやりやすくなります。

特に「トップページ」と「ブログ一覧ページ」を分けたい場合は、front-page.phphome.php をそれぞれ作るのがポイントです。

この基本構造を押さえておくと、どんなテーマでも迷わずカスタマイズできるようになります!