【WordPress】ページごとのテンプレート階層について紹介!

(この記事は2022年3月8日に投稿されました。)

WordPressでサイトをカスタマイズしていると下記のように思ったことはありませんか?

「この要素はどこのファイルで表示されているの?」
「ある要素を削除したいけどファイルが多すぎてどこで表示されているのか検討もつかない」

WordPressにはテンプレート階層というものがありテンプレートファイルを表示する優先順位が決まっています。

しかし、それぞれのページでテンプレート階層が異なるので注意してください。

逆にいえば、それぞれのページでテンプレート階層がわかっているとどのページに何が表示されているのか見当がつくということです。

そのため、テーマをカスタマイズする人やテーマを1から作成したいという方はあらかじめWordPressにはテンプレート階層を理解しておきましょう。

今回はWordPressでページごとのテンプレート階層について紹介していきます。

この記事はこんな方におすすめ
・サイトのテーマを1から作成したい人
・サイトのテーマをカスタマイズしたい人




テンプレート階層とは

テンプレート階層とはWordPressでテンプレートファイルを表示する優先順位みたいなものです。

つまり、WordPressで作成されているサイトは、表示されているページによって表示するPHPファイルの優先順位が決まっているということです。

そもそも、テンプレートファイルとはHTMLを生成するPHPファイルであり、ファイルに記述したPHPスクリプトでHTMLを生成し、ブラウザにページが出力されます。

例えば、「header.php」や「footer.php」がテンプレートファイルであり、WordPressではそれぞれのファイルに書かれた内容がブラウザに出力され、サイトとして表示されています。

詳細なテンプレート階層の概観図がWordPressの公式サイトに用意されているので詳しく知りたい方はご覧ください。

それぞれのページごとのテンプレート階層

WordPressで表示されるそれぞれのページごとのテンプレート階層について紹介していきます。

ここで紹介するテンプレート階層は下記のページとなります。

⚫︎ 投稿ページのテンプレート階層
⚫︎ 固定ページのテンプレート階層
⚫︎ カテゴリーアーカイブページのテンプレート階層
⚫︎ 日付系アーカイブページのテンプレート階層
⚫︎ タグアーカイブのテンプレート階層
⚫︎ ユーザーアーカイブページのテンプレート階層
⚫︎ 404ページのテンプレート階層
⚫︎ 検索結果ページのテンプレート階層
⚫︎ フロントページのテンプレート階層

投稿ページのテンプレート階層

まずは、投稿ページのテンプレート階層について紹介していきます。

投稿ページのテンプレート階層は下記のような順番でテンプレートファイルが表示されています。

1
single-post_type.php
投稿記事を表示するテンプレートファイル。(投稿タイプに制限あり)
2
single.php
投稿記事を表示するテンプレートファイル。
3
singular.php
single.phpとpage.phpをまとめることができるテンプレートファイル。
4
index.php
テーマに必要なメインのテンプレートファイル。

個別投稿のブログページを出力する場合、single-post.phpがあればそれが適用され、なければsingle.phpが適用され、それもなければsingular.phpが適用され、更にそれもなければ最終的にindex.phpが適用されます。

固定ページのテンプレート階層

続いて、固定ページのテンプレート階層について紹介していきます。

固定ページのテンプレート階層は下記のような順番でテンプレートファイルが表示されています。

1
カスタムテンプレート
ページ作成画面の「テンプレート」からドロップダウンメニューで選択したテンプレートファイル。
2
page-スラッグ.php
スラッグの固定ページを表示するテンプレートファイル。
3
page-ID.php
指定したIDの固定ページを表示するテンプレートファイル。
4
page.php
固定ページを表示するテンプレートファイル。
5
singular.php
single.phpとpage.phpをまとめることができるテンプレートファイル。
6
index.php
テーマに必要なメインのテンプレートファイル。

投稿記事ページを表示する場合、「single-post.php」があればそれが表示され、なければ「single.phpsingular.phpindex.php

カテゴリーアーカイブページのテンプレート階層

続いて、カテゴリーアーカイブページのテンプレート階層について紹介していきます。

カテゴリーアーカイブページのテンプレート階層は下記のような順番でテンプレートファイルが表示されています。

1
category-スラッグ.php
スラッグのカテゴリーページを表示するテンプレートファイル。
2
category-ID.php
指定したIDのカテゴリーページを表示するテンプレートファイル。
3
category.php
カテゴリーページを表示するテンプレートファイル。
4
archive.php
記事一覧を表示するテンプレートファイル。
5
index.php
テーマに必要なメインのテンプレートファイル。

カテゴリーアーカイブページを表示する場合、「category-スラッグ.php」があればそれが表示され、なければ「category-ID.php」が表示され、それもなければ「category.php」が表示され、更にそれもなければ「archive.php」が表示され、どれもなければ最終的に「index.php」が表示されます。

日付系アーカイブページのテンプレート階層

続いて、日付別アーカイブページのテンプレート階層について紹介していきます。

日付別アーカイブページのテンプレート階層は下記のような順番でテンプレートファイルが表示されています。

1
date.php
日付別に表示するテンプレートファイル。
4
archive.php
記事一覧を表示するテンプレートファイル。
3
index.php
テーマに必要なメインのテンプレートファイル。

日付別アーカイブページを表示する場合、「date.php」があればそれが表示され、なければ「archive.php」が表示され、それもなければ最終的に「index.php」が適用されます。

タグアーカイブページのテンプレート階層

続いて、タグアーカイブページのテンプレート階層について紹介していきます。

タグアーカイブページのテンプレート階層は下記のような順番でテンプレートファイルが表示されています。

1
tag-スラッグ.php
スラッグのタグーページを表示するテンプレートファイル。
2
tag-ID.php
指定したIDのタグーページを表示するテンプレートファイル。
3
tag.php
タグーページを表示するテンプレートファイル。
4
archive.php
記事一覧を表示するテンプレートファイル。
5
index.php
テーマに必要なメインのテンプレートファイル。

タグアーカイブページを表示する場合、「tag-スラッグ.php」があればそれが表示され、なければ「tag-ID.php」が表示され、それもなければ「tag.php」が表示され、更にそれもなければ「archive.php」が表示され、どれもなければ最終的に「index.php」が表示されます。

ユーザーアーカイブページのテンプレート階層

続いて、ユーザーアーカイブページのテンプレート階層について紹介していきます。

ユーザーアーカイブページのテンプレート階層は下記のような順番でテンプレートファイルが表示されています。

1
author-ナイスネーム.php
ナイスネームの作成者を表示するテンプレートファイル。
2
author-ID.php
指定したIDの作成者を表示するテンプレートファイル。
3
author.php
作成者を表示するテンプレートファイル。
4
archive.php
記事一覧を表示するテンプレートファイル。
5
index.php
テーマに必要なメインのテンプレートファイル。

ユーザーアーカイブページを表示する場合、「author-ナイスネーム.ph」があればそれが表示され、なければ「author-ID.php」が表示され、それもなければ「author.php」が表示され、更にそれもなければ「archive.php」が表示され、どれもなければ最終的に「index.php」が表示されます。

404ページのテンプレート階層

続いて、404ページのテンプレート階層について紹介していきます。

404ページのテンプレート階層は下記のような順番でテンプレートファイルが表示されています。

1
404.php
404ページを表示するテンプレートファイル。
2
index.php
テーマに必要なメインのテンプレートファイル。

404ページを表示する場合、「404.php」があればそれが表示され、なければ最終的に「index.php」が表示されます。

検索結果ページのテンプレート階層

続いて、検索結果ページのテンプレート階層について紹介していきます。

検索結果ページのテンプレート階層は下記のような順番でテンプレートファイルが表示されています。

1
search.php
検索結果を表示するテンプレートファイル。
2
index.php
テーマに必要なメインのテンプレートファイル。

検索結果ページを表示する場合、「search.php」があればそれが表示され、なければ最終的に「index.php」が表示されます。

フロントページのテンプレート階層

最後にフロントページのテンプレート階層です。

フロントページは他のページと違って、WordPress上の設定によってテンプレート階層が異なります。

「ホームページの表示」設定が「最新の投稿」である場合は下記のようなテンプレート階層となります。


⚫︎「ホームページの表示」設定が「最新の投稿」である場合

1
front-page.php
フロントページを表示するテンプレートファイル。
2
home.php
トップページを表示するテンプレートファイル。
3
index.php
テーマに必要なメインのテンプレートファイル。

フロントページを表示する場合、「front-page.php」があればそれが表示され、なければ「home.php.php」が表示され、それもなければ最終的に「index.php」が表示されます。

また、「ホームページの表示」設定が「固定ページ」である場合は下記のようなテンプレート階層となります。


⚫︎「ホームページの表示」設定が「固定ページ」である場合

1
front-page.php
フロントページを表示するテンプレートファイル。
2
表示する固定ページ
指定した固定ページのテンプレートファイル

フロントページを表示する場合、「front-page.php」があればそれが表示され、なければ最終的に「表示する固定ページ」が表示されます。

現在読み込んでいるテンプレートを確認したい場合

現在読み込んでいるテンプレートを確認したい場合は「What The File」を使用しましょう。

「What The File」とは、現在読み込んでいるページがどこのPHPファイルなのか表示してくれるプラグインになります。

インストールして有効化すると上側のメニューに表示されますので、このページは何のページが表示されているのか分からなくなった場合にも安心です。

まとめ

⚫︎ テンプレート階層とはWordPressでテンプレートファイルを表示する優先順位みたいなもの

⚫︎ 投稿ページのテンプレート階層は下記のようになる
1.single-post_type.php
2.single.php
3.singular.php
4.index.php

⚫︎ 固定ページのテンプレート階層は下記のようになる
1.カスタムテンプレート
2.page-スラッグ.php
3.page-ID.php
4.page.php
5.singular.php
6.index.php

⚫︎ カテゴリーアーカイブページのテンプレート階層は下記のようになる
1.category-スラッグ.php
2.category-ID.php
3.category.php
4.archive.php
5.index.php

⚫︎ 日付系アーカイブページのテンプレート階層は下記のようになる
1.single-post_type.php
2.single.php
3.singular.php
4.index.php

⚫︎ タグアーカイブのテンプレート階層は下記のようになる
1.tag-スラッグ.phpp
2.tag-ID.php
3.tag.php
4.archive.php
5.index.php

⚫︎ ユーザーアーカイブページのテンプレート階層は下記のようになる
1.author-ナイスネーム.php’
2.author-ID.php
3.author.php
4.archive.php
5.index.php

⚫︎ 404ページのテンプレート階層は下記のようになる
1.404.php’
2.index.php

⚫︎ 検索結果ページのテンプレート階層は下記のようになる
1.search.php’
2.index.php

⚫︎ フロントページのテンプレート階層は下記のようになる
・「ホームページの表示」設定が「最新の投稿」である場合
1.front-page.php
2.home.php
3.index.php
・「ホームページの表示」設定が「固定ページ」である場合
1.front-page.php
2.表示する固定ページ

⚫︎ 現在読み込んでいるテンプレートを確認したい場合は「What The File」をインストールする

コメントを残す

メールアドレスが公開されることはありません。