2026.10.01 公開 2026.10.04 更新

WordPressのテンプレート階層|優先順位一覧

WordPressのテンプレート階層|優先順位一覧

この記事でわかること

  • 表示したいページに合わせて、作るべきテンプレートファイルを選べる
  • テンプレートの変更が反映されないとき、原因を見つけて直せる
  • ページ単位・分類単位で、デザインを変える方法を判断できる

WordPressのテーマを自作していると、「page.phpを編集したのに反映されない」という場面によく出会います。原因の多くは、実際にどのファイルが使われているかを把握できていないことです。

テンプレート階層を知れば、ページごとに作るべきファイルを迷わず選べるようになります。

ネコ丸

ネコ丸

編集が反映されないときは、もっと優先されるファイルがないか疑ってみてね!

テンプレート階層の全体像

作りたいページが決まっている場合は、次の表から作るファイルと解説箇所を探せます。

やりたいこと 作るファイル 解説
トップページを変える front-page.php トップページと投稿ページ
記事一覧ページを変える home.php トップページと投稿ページ
特定の固定ページを変える page-{スラッグ}.php 固定ページ
記事ページを変える single.php・single-{投稿タイプ}.php 記事ページ
カテゴリー一覧を変える category.php 一覧ページ
独自の分類の一覧を変える taxonomy-{タクソノミー}.php 一覧ページ
カスタム投稿の一覧を変える archive-{投稿タイプ}.php 一覧ページ
検索結果を変える search.php 検索結果と404ページ

テンプレート階層は、表示するページの種類に応じて、WordPressがテーマフォルダからファイルを探す順番のルールです。名前が具体的なファイルから順に探し、最初に見つかったファイルを使います。どれも見つからなければ、最後は index.php が使われます。

ファイルが探される順番(図解)
表示するページ
カテゴリー「news」の一覧
スラッグ:news/ID:6

▼ テーマフォルダの中を、1から順に探す
探されるファイル
1. category-news.php
ない → 次を探す

2. category-6.php
ない → 次を探す

3. category.php
ある → このファイルで表示する

使われないファイル
4. archive.php
3で見つかったため、探されない

5. index.php
1〜4がすべてないときに使われる

見つかった時点で探すのをやめるため、それより下のファイルは使われない

この記事は、すべてのページに共通する探し方のルールを押さえてから、ページの種類ごとの順番を確認できるように並べています。初めての人は、目次の順に読み進めてください。

テンプレートが選ばれるルール

ページの種類ごとに順番は違いますが、探し方のルールはすべて共通です。まずはこのルールと、ファイル名に入る言葉の意味を押さえましょう。

具体的なファイルほど優先される

例えばカテゴリー一覧なら、特定のカテゴリー専用のファイル、カテゴリー共通のファイル、一覧ページ共通のファイルの順に探します。対象の範囲が狭いファイルほど優先され、見つかった時点でそれより下のファイルは使われません。

index.php は、すべてのページの最後の受け皿です。テーマに必ず必要なのは index.php だけで、ほかのファイルは必要なものだけ作れば問題ありません。

ファイル名の{スラッグ}・{ID}・{投稿タイプ}

ファイル名の { } の部分には、対象のページや分類に合わせた言葉が入ります。

部分 入るもの 例
{スラッグ} ページやカテゴリーごとに付けた、URL用の名前 スラッグがabout → page-about.php
{ID} WordPressが自動で振る番号 IDが6 → page-6.php
{投稿タイプ} 投稿の種類の名前。通常の投稿は post、カスタム投稿タイプ※1は登録した名前 投稿タイプがnews → single-news.php

特定のページだけを指定したいときは、スラッグとIDのどちらでも指定できます。スラッグのほうが優先されるため、両方あるときはスラッグのファイルが使われます。

指定のしかた 向いている場面
スラッグ(page-about.php) ファイル名を見ただけで、どのページ用かわかるようにしたいとき
ID(page-6.php) スラッグをあとから変える可能性があるとき
ネコ丸

ネコ丸

あとから見返したときにわかりやすいのは、スラッグで作ったファイルだよ!

※1:カスタム投稿タイプ…「お知らせ」「実績」など、標準の投稿とは別に作った投稿の種類。

トップページと投稿ページ

トップページに使われるファイルは、管理画面の「設定」→「表示設定」にある「ホームページの表示」で変わります。「最新の投稿」と「固定ページ」のどちらを選んでいるか、先に確認しましょう。

トップページ

「最新の投稿」の場合

順番 ファイル名 補足
1 front-page.php 設定に関係なく最優先
2 home.php 記事一覧用のファイル
3 index.php

「固定ページ」の場合

順番 ファイル名 補足
1 front-page.php 設定に関係なく最優先
2 カスタムテンプレート 固定ページの編集画面で選んだテンプレート
3 page-{スラッグ}.php 例:page-top.php
4 page-{ID}.php 例:page-2.php
5 page.php
6 singular.php
7 index.php

front-page.php がない場合、トップページに選んだ固定ページは、通常の固定ページと同じ順番で探されます。front-page.php を作ると、表示設定に関係なく、トップページはこのファイルで表示されます。

投稿ページ(記事一覧)

「固定ページ」を選んだ場合、記事の一覧は「投稿ページ」に指定した固定ページに表示されます。投稿ページは固定ページの順番ではなく、次の順で探されます。

順番 ファイル名
1 home.php
2 index.php

home.php は「トップページ用」ではなく「記事一覧用」のファイルです。「最新の投稿」の設定ではトップページに記事一覧が出るため、トップページにも使われます。名前から混同しやすいので注意しましょう。

ネコ丸

ネコ丸

home.phpを作ったのにトップに出ないときは、まず表示設定を見てみてね!

固定ページ

会社概要やお問い合わせなど、固定ページのファイルの探し方です。特定のページだけデザインを変える方法が多く用意されています。

固定ページの優先順位

順番 ファイル名 補足
1 カスタムテンプレート 固定ページの編集画面で選んだテンプレート
2 page-{スラッグ}.php 例:page-about.php
3 page-{ID}.php 例:page-6.php
4 page.php 固定ページ共通
5 singular.php 固定ページと記事ページ共通
6 index.php

カスタムテンプレートは、固定ページの編集画面で選ぶテンプレートです。選んでいる場合は、スラッグやIDのファイルより優先されます。

ネコ丸

ネコ丸

会社概要など1ページだけ見た目を変えたいときは、page-{スラッグ}.phpが手軽だよ!

プライバシーポリシーページ

「設定」→「プライバシー」で指定したページは、固定ページの順番より前に privacy-policy.php が探されます。このファイルがなければ、通常の固定ページと同じ順番で探されます。

記事ページ(個別投稿)

投稿やカスタム投稿タイプの、1件ずつの記事ページの探し方です。投稿タイプごとにデザインを分けられます。

記事ページの優先順位

順番 ファイル名 補足
1 カスタムテンプレート 記事の編集画面で選んだテンプレート
2 single-{投稿タイプ}-{スラッグ}.php 例:single-news-sample.php
3 single-{投稿タイプ}.php 例:single-news.php
4 single.php 記事ページ共通
5 singular.php 固定ページと記事ページ共通
6 index.php

通常の投稿は投稿タイプ名が post のため、投稿専用のファイルは single-post.php になります。テーマにテンプレートが用意されていれば、投稿でも編集画面からテンプレートを選べます(WordPress 4.7以降)。

singular.phpとの使い分け

singular.php は、固定ページと記事ページの両方で、index.php の直前に探されるファイルです。2種類のページをどこまで分けるかで、作り方を選びます。

作り方 向いている場面
single.php と page.php を分ける 記事ページと固定ページで、デザインが違うとき
singular.php 1つにまとめる 記事ページも固定ページも、同じデザインでよいとき
ネコ丸

ネコ丸

最初はsingular.phpにまとめて、違いが出てきたら分けるのもアリだよ!

一覧ページ(アーカイブ)

カテゴリーやタグ、投稿タイプごとの一覧は、どれも archive.php を経て index.php へ進みます。一覧ページ共通のデザインは archive.php に書き、違いがある一覧だけ専用のファイルを作ると管理しやすくなります。

カテゴリー

順番 ファイル名 補足
1 category-{スラッグ}.php 例:category-news.php
2 category-{ID}.php 例:category-6.php
3 category.php カテゴリー一覧共通
4 archive.php 一覧ページ共通
5 index.php

タグ

タグの一覧は、カテゴリーと同じ形で探されます。

順番 ファイル名 補足
1 tag-{スラッグ}.php 例:tag-wordpress.php
2 tag-{ID}.php 例:tag-6.php
3 tag.php タグ一覧共通
4 archive.php 一覧ページ共通
5 index.php

カスタムタクソノミー

独自に作った分類であるカスタムタクソノミー※2の一覧は、カテゴリーやタグと形が異なります。ファイル名には、タクソノミー名とターム※3名の2つが入ります。

順番 ファイル名 補足
1 taxonomy-{タクソノミー}-{ターム}.php 例:taxonomy-genre-event.php
2 taxonomy-{タクソノミー}.php 例:taxonomy-genre.php
3 taxonomy.php カスタムタクソノミー共通
4 archive.php 一覧ページ共通
5 index.php

カスタムタクソノミーには、IDで指定するファイルがありません。特定のタームだけ見た目を変えたいときは、ターム名で指定します。

分類 専用ファイルの形 IDでの指定
カテゴリー category-{スラッグ}.php できる
タグ tag-{スラッグ}.php できる
カスタムタクソノミー taxonomy-{タクソノミー}-{ターム}.php できない
ネコ丸

ネコ丸

taxonomy-の後ろは「タクソノミー名-ターム名」の順だよ。逆にしないように気をつけてね

※2:タクソノミー…投稿を分類するための仕組み。標準のカテゴリーやタグもその一種です。
※3:ターム…タクソノミーの中の、1つ1つの分類。例えば「ジャンル」というタクソノミーの中の「イベント」がタームです。

カスタム投稿タイプの一覧

順番 ファイル名 補足
1 archive-{投稿タイプ}.php 例:archive-news.php
2 archive.php 一覧ページ共通
3 index.php

一覧から開く1件ずつの記事ページは、single- から始まるファイルで探されます(記事ページの優先順位)。

投稿者・日付の一覧

投稿者

順番 ファイル名 補足
1 author-{ニックネーム}.php URLに使われるユーザー名。例:author-sample.php
2 author-{ID}.php 例:author-2.php
3 author.php 投稿者一覧共通
4 archive.php 一覧ページ共通
5 index.php

日付

順番 ファイル名
1 date.php
2 archive.php
3 index.php

検索結果と404ページ

どちらも専用のファイルがなければ、すぐに index.php が使われます。間にほかの候補はありません。

順番 ファイル名
1 search.php
2 index.php

サイト内検索の結果だけ見た目を変えたいときは、search.php を作ります。

404ページ

順番 ファイル名
1 404.php
2 index.php

404ページは、存在しないURLにアクセスしたときに表示されるページです。404.php がないと index.php で表示されるため、ページが見つからないことが読者に伝わりにくくなります。

ネコ丸

ネコ丸

404.phpには、トップページへのリンクを置いておくと親切だよ!

つまずきやすいポイント

ファイル名や置き場所によっては、順番どおりに作ったつもりでも、思ったファイルが使われないことがあります。よくある2つのケースを確認しましょう。

日本語スラッグのファイル名

スラッグに日本語を使っている場合、ファイル名は日本語のままの形と、URL用に変換(エンコード)した形のどちらでも使えます(WordPress 4.7以降)。両方あるときは、日本語のままの形が先に探されます。

形 ファイル名の例(スラッグ「会社概要」の固定ページ)
日本語のまま page-会社概要.php
エンコードした形 page-%e4%bc%9a%e7%a4%be%e6%a6%82%e8%a6%81.php
ネコ丸

ネコ丸

ファイル名で迷わないように、スラッグは英数字にしておくのがおすすめだよ

子テーマを使うときの優先順位

子テーマ※4に置いたファイルは、親テーマにある同じ名前のファイルより優先されます。ただし、テンプレート階層の順番のほうが先に判断されるため、親テーマにより具体的なファイルがあると、そちらが使われます。

子テーマのファイル 親テーマのファイル 使われるファイル
category.php category.php 子テーマの category.php
category-news.php category.php 子テーマの category-news.php
category.php category-news.php 親テーマの category-news.php

※4:子テーマ…親テーマのデザインや機能を引き継ぎつつ、変えたい部分だけを上書きするためのテーマ。

さいごに

まとめ

テンプレート階層は「具体的なファイルから探し、なければ汎用のファイルへ進み、最後は index.php」という1つのルールでできています。

テンプレート階層の要点

  • トップページは、表示設定によって探す順番が変わる
  • home.php は、トップページ用ではなく記事一覧用のファイル
  • カテゴリー・タグはIDでも指定できるが、カスタムタクソノミーはできない

思いどおりのファイルが使われないときは、この記事の表で、より優先されるファイルがないか確認してみてください。テーマ制作で使うPHPの全体像は「初心者向けWordPressのPHP|よく使う関数まとめ」で紹介しています。

よくある質問

page.phpを編集したのに、固定ページに反映されません

page.php より優先されるファイルが使われている可能性があります。次の点を確認しましょう。

home.phpを作ったのに、トップページに使われません

home.php は記事一覧用のファイルです。表示設定で「固定ページ」を選んでいる場合、home.php は投稿ページに使われ、トップページには使われません。また、front-page.php があると、そちらが優先されます。

投稿ページの探し方は「投稿ページ(記事一覧)」で解説しています。

カスタムタクソノミーを、IDで指定するファイルは作れますか?

いいえ、作れません。カスタムタクソノミーは、カテゴリーやタグと違ってIDで指定するファイルがないため、ターム名で指定します。

ファイル名の形は「カスタムタクソノミー」で解説しています。

index.php以外のファイルも、すべて作る必要がありますか?

いいえ。テーマに必ず必要なのは index.php だけです。ほかのファイルは、デザインを分けたいページの分だけ作れば問題ありません。

探し方のルールは「具体的なファイルほど優先される」で解説しています。

子テーマにcategory.phpを置いたのに、使われません

親テーマに category-{スラッグ}.php など、より具体的なファイルがある可能性があります。テンプレート階層の順番が先に判断されるため、親テーマの具体的なファイルが優先されます。

詳しくは「子テーマを使うときの優先順位」で解説しています。

参考にした公式情報

WordPress公式 開発者向けドキュメント

ページの種類ごとにファイルを探す順番や、日本語スラッグ・子テーマの扱いを確認できます。

公式ページを開く

WordPress本体 ソースコード

候補がなければ次の判定へ進み、最後に index.php を使う流れを確認できます。

GitHubで開く

どのページも英語ですが、ブラウザの翻訳機能を使えば日本語で読めます。