WordPressのテンプレート階層を図解で理解!

WordPressテーマ開発において避けて通れないのが「テンプレート階層」の理解です。
「どのテンプレートファイルが表示に使われるのか分からない…」
「single.phpとpage.phpの違いって何?」
こんな疑問を持つ方に向けて、この記事ではテンプレート階層の全体像を図解付きでわかりやすく解説します!
Contents
テンプレート階層とは?
テンプレート階層(Template Hierarchy)とは、WordPressがどのテンプレートファイルを使ってページを表示するかを決めるルールのことです。
WordPressはアクセスされたURLやページの種類に応じて、特定のテンプレートファイルを順番に探していきます。これがテンプレート階層です。
💡基本的な構成ファイルについては、WordPressテーマの構成ファイルまとめをご覧ください。
【図解】テンプレート階層の基本構造
以下はテンプレート階層の簡略図です。
・投稿ページ(single post)
→ single-{post-type}.php
→ single.php
→ singular.php
→ index.php
・固定ページ(page)
→ page-{slug}.php
→ page-{id}.php
→ page.php
→ singular.php
→ index.php
・カテゴリページ(category)
→ category-{slug}.php
→ category-{id}.php
→ category.php
→ archive.php
→ index.php
・タグページ(tag)
→ tag-{slug}.php
→ tag-{id}.php
→ tag.php
→ archive.php
→ index.php
・カスタム投稿タイプのアーカイブ(archive)
→ archive-{post-type}.php
→ archive.php
→ index.php
※ このように、上から順に存在を確認して、最初に見つかったファイルが使用されます。
よく使うテンプレートファイル一覧
ファイル名 | 用途 |
---|---|
index.php | 最終手段。全てのページのバックアップ用 |
home.php | ブログ一覧のトップページ(設定次第) |
front-page.php | サイトのフロントページ用(静的ホームに設定した場合) |
single.php | 投稿記事(投稿タイプ:post)用 |
page.php | 固定ページ用 |
archive.php | アーカイブ全般用 |
category.php | カテゴリーページ用 |
search.php | 検索結果ページ用 |
404.php | ページが見つからなかったとき |
テンプレート階層を活用するコツ
1. 名前付きテンプレートを優先的に使う
category-news.php
や page-contact.php
など、個別のスラッグやIDを使ったテンプレートは優先的に読み込まれるため、特定のページだけデザインを変えたいときに便利です。
👉表示条件を細かく制御したい場合は、【保存版】WordPress条件分岐タグまとめ|よく使う関数と使い方を一覧で解説 をチェックしてみてください。
2. get_template_part()
と組み合わせて管理を効率化
共通のパーツ(ヘッダー・フッター・記事カードなど)を分割して、テンプレートファイルから呼び出すことで、保守性が上がります。
👉パーツ管理には get_template_part()の使い方と活用例 が役立ちます。
まとめ:テンプレート階層を理解すると開発が楽になる!
テンプレート階層のルールを把握しておくことで、「なぜこのファイルが読み込まれたのか?」が明確になり、カスタマイズも安心して行えるようになります。
WordPress開発における基本のキ、テンプレート階層。まずはこのルールをマスターして、より自由自在なテーマ作りを楽しみましょう!