【WP】テンプレートとテンプレート階層

WordPress のテンプレートとは
テンプレートとはひな形のことで、WordPressでは、アクセスされたページの役割に応じて、表示するテンプレートファイルが自動的に選択されます。
例えば、WordPressには次のようなテンプレートが用意されています。
| ページの種類 | テンプレート | 概要 |
|---|---|---|
| テーマの必須ファイル | index.php | 他に適切なテンプレートが存在しない場合に最終的に使用されるファイル(最も汎用的なテンプレート) |
| フロントページ | front-page.php | サイトのトップページを出力 |
| ホーム(メイン)ページ | home.php | ブログのトップページを出力 |
| 固定ページ | page.php | 個々の固定ページを出力 |
| 投稿 | single.php | 個々の投稿ページを出力 |
| カテゴリー | category.php | カテゴリーごとのアーカイブ(一覧)ページを出力 |
| タグ | tag.php | タグごとのアーカイブ(一覧)ページを出力 |
| 作成者 | author.php | 作成者別のアーカイブ(一覧)ページを出力 |
| 日付 | date.php | 日付ごとのアーカイブ(一覧)ページを出力 |
| アーカイブ | archive.php | アーカイブ(一覧)ページを出力 |
| 検索結果 | search.php | 検索結果のページを出力 |
| 404 (Not Found) | 404.php | 404エラー(Not Found)ページを出力 |
テンプレートとテーマの違い
テーマとは、複数のテンプレートファイル、スタイルシート、JavaScriptなどをまとめたファイル群です。
テンプレートは、テーマのファイル群の一部です。
WordPress のテンプレート階層とは
複数のテンプレートの中から、優先順位が高いものを選択する仕組みを「テンプレート階層」と呼びます。
投稿のページを例にすると、
1. テーマの中に single-post_type.php というテンプレートがあればそのテンプレートを使って出力
2. なければ single.php というテンプレートを使って出力
3. single-post_type.php も single.php もなければsingular.php というテンプレートを使って出力
4. いずれもなければ、index.php を使って出力
というテンプレート階層となっています。
| ページ | テンプレートファイルの優先順位 高い ← 優先度 → 低い |
|||||
|---|---|---|---|---|---|---|
| フロントページ | front-page.php | トップページ 参照 |
トップページ 参照 |
– | index.php | |
| ホームページ | home.php | – | – | – | ||
| 固定ページ | customname.php | page-slug.php | page-id.php | page.php | singular.php | |
| 投稿 | single-post_type.php | – | – | single.php | ||
| 投稿タイプ別一覧 | archive-post_type.php | – | – | archive.php | ||
| タグ別一覧 | tag-slug.php | tag-id.php | tag.php | |||
| 日付別一覧 | date.php | – | – | |||
| 記事作成者別一覧 | author-nicename.php | author-id.php | author.php | |||
| カスタム分類 | taxonomy-taxonomy–term.php | taxonomy-taxonomy.php | taxonomy.php | |||
| カテゴリ別一覧 | category-slug.php | category-id.php | category.php | |||
| 検索結果 | search.php | – | – | – | ||
| 404 | 404.php | – | – | – | ||
トップページのテンプレート優先順位
1. front-page.php
2. home.php
3. index.php
管理画面 >「設定」>「表示設定」の「ホームページの表示」で [固定ページ] を選択している場合
front-page.php が存在する場合は、固定ページを選択している場合でも、front-page.php が優先されます。
front-page.php が存在せず、home.php、index.php のみ存在する場合は固定ページが優先されます。
![MARKLEAPS[マークリープス]](https://markleaps.com/blog/wp-content/themes/mkl/images/00_logo.png)

![[WordPress] CSVで記事を一括インポート-プラグイン「WP ALL Import」の使い方](https://markleaps.com/blog/wp-content/uploads/2025/10/wp-all-import-500x254.jpg)
![[WordPress] 記事への画像挿入方法](https://markleaps.com/blog/wp-content/uploads/2025/10/pic_manual_mainimg-500x254.png)
![[WordPress] カテゴリーとタグの違いと設定方法](https://markleaps.com/blog/wp-content/uploads/2025/10/wp-category-tag-500x254.jpg)
![[WordPress] 挙動確認付き!大画像自動リサイズ(-scaled)と srcset属性 の自動付与](https://markleaps.com/blog/wp-content/uploads/2025/10/wp-scaled-srcset-500x254.jpg)