- テンプレート階層とは何か(ファイルが選ばれる仕組み)
- 主要テンプレートファイル(index.php / single.php / page.php / archive.php 等)の役割
- functions.php・header.php・footer.php の役割
- 子テーマで安全にカスタマイズする考え方
テーマのファイルがたくさんあって、「どのファイルが、どのページを表示しているのか分からない」——そんな状態、ありませんか?
single.php、page.php、archive.php……名前はなんとなく分かっても、いつどれが使われるのかは、最初は本当に謎ですよね。
WordPressには「テンプレート階層」という明確なルールがあって、表示するページの種類ごとに「どのファイルを優先して使うか」が決まっています。これが分かると、テーマのどこを直せばどのページが変わるのか、地図を手に入れたように見通せるようになります。
この記事では、テンプレート階層の仕組みと、主要なテーマファイルの役割・優先順位を、できるだけやさしく整理していきます。

WordPress老人のRです。昔は「とりあえず single.php を触ってみる」で何度も事故りました。階層を理解してからは、迷いがなくなりました。一緒に地図を読みましょう。
記事を書いている人

R(アール)
Web制作の現場で17年(現役進行中)。精密栄養カウンセラー。
個人開発をアプリ6本並行しながら、AIと「作る・届ける」を実験しています。
うまくいったことも、月収2,000円みたいな冴えない数字も、隠さず公開中。
教える人ではなく、少し先で転んで戻ってきた人として、あなたと同じ目線で現在地を観測していけたらと思います。
WordPressのテンプレート階層とは?
まずは結論から。テンプレート階層とは、WordPressがページを表示するときに「このページにはどのテンプレートファイルを使うか」を、決まった順番で探していく仕組みのことです。
たとえば個別の投稿ページを開いたとき、WordPressはいきなり index.php を使うわけではありません。「single.php はあるかな? なければ singular.php は? それもなければ index.php で」と、専用のファイルから順に探していきます。
この順番さえ頭に入れば、「トップページを直したいのに、なぜか変わらない」「single.php を編集したのに反映されない」といった”どこを触ればいいのか問題”が、ほぼ解決します。テーマ構造の地図、それがテンプレート階層です。
WordPressがファイルを探す順番(優先順位)
ここがこの記事の核心です。少しややこしく見えますが、ルールは1つだけ。「専用のファイルを優先し、なければより汎用的なファイルへ、最後は必ず index.php」。これだけです。
主なページの種類ごとに、探される順番をまとめました。左にあるファイルが優先され、無ければ右へ進み、最終的にはどのページも index.php にたどり着きます。
| ページの種類 | 探される順番(左が優先 → 無ければ右へ) |
|---|---|
| 個別投稿 | single-{投稿タイプ}.php → single.php → singular.php → index.php |
| 固定ページ | カスタムテンプレート → page-{スラッグ}.php → page-{ID}.php → page.php → singular.php → index.php |
| カテゴリー一覧 | category-{スラッグ}.php → category-{ID}.php → category.php → archive.php → index.php |
| タグ一覧 | tag-{スラッグ}.php → tag.php → archive.php → index.php |
| ブログ投稿一覧 | home.php → index.php |
| フロントページ | front-page.php →(投稿一覧なら home.php / 固定ページなら page.php) |
| 検索結果 | search.php → index.php |
| 404エラー | 404.php → index.php |
表を見ると、どのページも最後は index.php に行き着くのが分かります。逆に言えば、index.php さえあればテーマは”とりあえず動く”。そこに single.php や archive.php といった専用ファイルを足していくほど、ページごとに細かく作り込める、という構造です。
固定ページを直したくて single.php をいじってました……道理で変わらないわけだ。

みんな一度はやります(私もです)。固定ページは page.php。この表をブックマークしておけば、もう迷いません。
主要テンプレートファイルの役割
名前だけ並べられても覚えられないので、よく使うものから役割を整理します。ここを押さえれば、テーマの中身がぐっと読みやすくなります。
index.php — 最後の砦(唯一の必須ファイル)
どのページでも、専用ファイルが見つからなければ最終的に使われるのが index.php です。テンプレートの中で唯一「これが無いとテーマとして成立しない」必須ファイル。まずは index.php、というのが出発点になります。
single.php / page.php — 個別投稿と固定ページ
single.php は1件の投稿を表示するためのファイル、page.php は固定ページ用です。ブログ記事と「会社概要」のような固定ページで見た目を変えたいときは、この2つを分けて作り込みます。両者に共通するレイアウトは singular.php にまとめることもできます。
archive.php / category.php / tag.php — 一覧ページ
投稿が一覧で並ぶページを担当します。archive.php がカテゴリー・タグ・日付別などの一覧の”共通担当”で、category.php や tag.php を置けば、その種類だけ専用のデザインにできます。まずは archive.php を1枚用意しておけば、たいていの一覧はカバーできます。
front-page.php / home.php — トップページの2パターン
ここは混乱しやすいところ。home.php は「最新投稿の一覧」を表示するトップ用、front-page.php は設定に関わらずサイトの最前面を担当します。「設定 → 表示設定」で固定ページをトップにしているか、最新投稿にしているかで、どちらが使われるかが変わります。
404.php / search.php — エラーと検索結果
404.php は存在しないURLにアクセスされたときの「ページが見つかりません」表示、search.php は検索結果の表示を担当します。地味ですが、404ページにトップへの導線を置いておくだけで、離脱を1段減らせます。
テンプレート以外の重要ファイル
テーマには、ページを「表示」するテンプレート以外にも、欠かせないファイルがあります。ここを混同すると後で必ずつまずくので、分けて理解しておきます。
functions.php — テーマの頭脳(テンプレートではない)
ここは大事なポイントです。functions.php はテンプレート階層には含まれません。どのページを開いても常に読み込まれ、テーマの「機能」を定義する場所です。
具体的には、メニューの登録、アイキャッチ画像の有効化、ウィジェットエリアの追加、CSS/JSの読み込み、フック(add_action / add_filter)など。「表示」を担うのがテンプレート、「機能」を担うのが functions.php、と役割で分けて覚えると混乱しません。
ちなみに functions.php の検索ボリュームは月210前後あり、SEO難易度も低め。それだけ「ここでつまずく人が多い」ファイルでもあります。1行の書き間違いでサイトが真っ白になることもあるので、編集はバックアップとセットで。
header.php / footer.php / sidebar.php — 共通パーツ
全ページで共通するヘッダー・フッター・サイドバーを切り出したファイルです。各テンプレートから get_header() / get_footer() / get_sidebar() で呼び出して使います。共通部分を1か所にまとめておけば、修正もそこだけで済む。いわゆるDRY(同じことを繰り返さない)の要です。
子テーマで安全にカスタマイズする
既存のテーマを直接編集していて、アップデートしたら変更が全部消えた——これも”WordPressあるある”です。それを防ぐのが「子テーマ」です。
子テーマとは
子テーマは、親テーマの機能を引き継ぎつつ、変更したい部分だけを上書きするための仕組みです。親テーマはそのまま残るので、親がアップデートされても自分の変更は消えません。既存テーマを少しだけカスタマイズしたいときの、ほぼ必須の作法です。
最小構成は style.css と functions.php の2つ
子テーマは、新しいフォルダを作り、style.css のコメント欄に「どの親テーマの子か(Template: 親テーマのフォルダ名)」を書くだけで成立します。あとは functions.php で親テーマのスタイルを読み込めば準備完了。最低限この2ファイルから始められます。
同名ファイルを置くと、子テーマが優先される
ここでテンプレート階層の話とつながります。子テーマに親テーマと同じ名前のファイル(たとえば single.php)を置くと、子テーマのほうが優先して使われます。つまり、変えたいテンプレートだけを子テーマにコピーして編集すれば、親テーマを一切触らずにカスタマイズできる。階層の仕組みが、安全なカスタマイズの土台にもなっているわけです。
まとめ
テンプレート階層は、WordPressが「どのファイルでこのページを表示するか」を決める順番のルールでした。専用ファイルを優先し、無ければ汎用へ、最後は index.php。この地図さえ持っていれば、「どこを直せばどこが変わるか」で迷わなくなります。
そして表示を担うテンプレートと、機能を担う functions.php を分けて理解し、カスタマイズは子テーマで安全に。ここまで押さえれば、テーマの基本構造はほぼ手の内に入ります。
最後に。テンプレート階層を覚えること自体がゴールではありません。大事なのは、自分がテーマを触るとき「どのページの、どの部分でいつも手が止まるのか」を観測することです。詰まる場所が見えれば、次に深掘りすべきファイルが分かる。構造の地図は、自分の弱点を観測するための座標軸でもあります。
次回(vol06)では、header.php や footer.php のような共通パーツを、get_template_part() でさらに整理する方法に進みます。
この記事は「WordPress老人から脱却!Gutenberg完全ガイド」シリーズの一部です。
→ シリーズ全体を見る
あわせて読みたい
「自分の強みは何か」が、見えなくなる時期があります。
診断を受けても、本を読んでも、「結局どう動けばいいか」が分からない。考えるほど止まる。これは個人クリエイターによくある状態です。
個人開発8本、月収2,000円。Web制作17年のクリエイターが、AI と「作る」「届ける」を honest に実験している過程をメルマガで公開しています。「観測する」生き方の実践ログです。
登録特典:「AI時代に取り残されないための構造整理シート」(PDF 12p / 5ステップ)― スキル棚卸しから、自分のポジション設計まで。

