いまのシマエナガ堂テーマは、どのページを開いてもindex.phpの1枚で表示されます。でも完成形では、トップ・会社案内・お知らせ一覧・記事詳細で別々の見た目が必要です。そこで登場するのが、WordPressテーマ最大のルール——テンプレート階層。「このURLのときは、このファイルが担当」という対応表です。
しくみ:WordPressはファイル名で探す
ページが開かれるたび、WordPressはテーマフォルダの中を決まった優先順位で探します。「専門の担当がいればその人に、いなければもっと一般的な担当に、誰もいなければindex.phpに」——という探し方です。
たとえば、投稿(お知らせ記事)の詳細ページなら:
single.php はある? → あれば採用
↓ なければ
singular.php は? → あれば採用
↓ なければ
index.php(最後の砦)前に「index.phpは最後の砦」と言ったのは、この探し方の終着点だからです。
企業サイトで使う担当表
テンプレート階層の全体はかなり大きいのですが、実務でまず使うのはこれだけです。シマエナガ堂の完成形と対応させて覚えましょう。
| ページ | 第一希望の担当ファイル |
|---|---|
| トップページ | front-page.php |
| 固定ページ(会社案内) | page.php |
| 投稿の一覧(お知らせ一覧) | home.php |
| 投稿の詳細(お知らせ記事) | single.php |
| カテゴリ別の一覧 | category.php |
| 検索結果 | search.php |
| 見つからないページ | 404.php |
| 最後の砦 | index.php |
もっと専門的な担当もいる
階層は「より具体的な名前が優先」という性質を持っています。たとえば:
page-company.php——スラッグがcompanyの固定ページ専用の担当(page.phpより優先)single-shohin.php——投稿タイプshohinの詳細専用の担当(あとでカスタム投稿タイプの章で使います)archive-shohin.php——投稿タイプshohinの一覧専用の担当
「大きい網(index.php)→種類の網(single.php)→名指しの網(single-shohin.php)」と、だんだん細かい網が優先される——この感覚をつかめば、階層表を丸暗記する必要はありません。
このレッスンのまとめ
- テンプレート階層=ページの種類ごとに担当ファイルを探すWordPressのルール。専門の担当がいなければ、より一般的な担当→最後は
index.php - 企業サイトでまず使うのはfront-page/page/home/single/category/404の6枚+index
- 「より具体的な名前が優先」——
single-shohin.phpのような名指しの担当も作れる