テンプレート階層、テンプレートファイルとは
テンプレート階層とは、テンプレートファイルが使われるときの優先順位のことです。
テンプレートファイルとはPHPの各ファイルのことをいいます。
例えば、TOPページを表示させるためには
- front-page.php
- home.php
- index.php
の3つのどれかのテンプレートファイルを使用すると表示させることができますが、
表示させる優先度は決まっており、「①front-page.php ②home.php ③index.php」の順番で表示されます。
つまり、「front-page.php」がなければ「home.php」を表示し、「home.php」がなければ「index.php」を表示する
という風になります。
表示されるファイルの優先度は下の図で判断できます。(左にあるテンプレートファイルから優先的に表示される仕組みになっています。)
恐らく初学者の方や、これを初めて見た方は何が何だかわからないと思います(自分も実際そうでした。)
今回の記事では、ページの役割ごとで使用するテンプレートファイルをまとめました!
「この役割のページはこのテンプレートファイルを使用するんだな」程度の認識で問題ないので早速見ていきましょう!
各階層のテンプレートファイル一覧
TOPページ
TOPページを表示させるテンプレートファイルは下記の3つです。
- front-page.php
- home.php
- index.php
上記の通り表示される優先順位は「①front-page.php ②home.php ③index.php」となります。
基本的に表示される優先順位が高いものから使用していきます。
固定ページ
固定ページはAboutやService、Contactなどのページに使われます。
固定ページを表示させるテンプレートファイルは下記の6つです。
- (カスタムテンプレート名).php
- page-(slug).php
- page-(ID).php
- page.php
- singular.php
- index.php
表示される優先順位は「①(カスタムテンプレート名).php ②page-(slug).php ③page-(ID).php ④page.php ⑤singular.php ⑥index.php」となります。
基本的にAboutページならパーマリンクに「about」と設定し、page-about.phpとして使用します。
(下記のように管理画面の固定ページからリンクの部分をクリックし、任意の文字を入れます。)
投稿一覧ページ
投稿一覧ページには「通常投稿一覧ページ」と「カスタム投稿一覧ページ」があります。順に説明していきます。
通常投稿一覧ページ
こちらはWordPressにデフォルトで用意されている投稿ページのことです。
通常投稿一覧ページを表示させるテンプレートファイルは下記の2つです。
- home.php
- index.php
表示される優先順位は「①home.php ②index.php」となります。
カスタム投稿一覧ページ
通常投稿一覧ページ以外に投稿機能を作りたい場合は「カスタム投稿一覧ページ」として作成します。
カスタム投稿一覧ページを表示させるテンプレートファイルは下記の3つです。
- archive-(post_type).php
- archive.php
- index.php
表示される優先順位は「①archive-(post_type).php ②archive.php ③index.php」となります。
カテゴリーページ
カテゴリーページは任意のカテゴリー毎に投稿一覧を表示させるページです。こちらは通常投稿一覧ページとセットと覚えておきましょう!
カテゴリーページを表示させるテンプレートファイルは下記の5つです。
- category-(slug).php
- category-(ID).php
- category.php
- archive.php
- index.php
表示される優先順位は「①category-(slug).php ②category-(ID).php ③category.php ④archive.php ⑤index.php」となります。
カスタムタクソノミーページ
カスタムタクソノミーページは任意のタクソノミー毎に投稿一覧を表示させるページです。こちらはカスタム投稿一覧ページとセットと覚えておきましょう!
カスタムタクソノミーページを表示させるテンプレートファイルは下記の5つです。
- taxonomy-(taxonomy)-(term).php
- taxonomy-(taxonomy).php
- taxonomy.php
- archive.php
- index.php
表示される優先順位は「①taxonomy-(taxonomy)-(term).php ②taxonomy-(taxonomy).php ③taxonomy.php ④archive.php ⑤index.php」となります。
詳細ページ
詳細ページは各投稿一覧ページの投稿記事を作成するページです。
詳細ページを表示させるテンプレートファイルは下記の4つです。
- single-(post_type).php
- single.php
- singular.php
- index.php
表示される優先順位は「①single-(post_type).php ②single.php ③singular.php ④index.php」となります。
日付一覧ページ
日付一覧ページはサイドバーなどにあるアーカイブ一覧などで月毎にリンク先がある時のリンクの遷移先のページです。
日付一覧ページを表示させるテンプレートファイルは下記の3つです。
- date.php
- archive.php
- index.php
表示される優先順位は「①date.php ②archive.php ③index.php」となります。
タグ一覧ページ
タグ一覧ページは任意のタグ毎に投稿一覧を表示させるページです。
タグ一覧ページを表示させるテンプレートファイルは下記の5つです。
- tag-(slug).php
- tag-(ID).php
- tag.php
- archive.php
- index.php
表示される優先順位は「①tag-(slug).php ②tag-(ID).php ③tag.php ④archive.php ⑤index.php」となります。
検索結果ページ
検索結果ページはサイドバーなどに検索機能を付けた場合の検索結果を表示するページです。
検索結果ページを表示させるテンプレートファイルは下記の2つです。
- search.php
- index.php
表示される優先順位は「①search.php ②index.php」となります。
404エラーページ
404エラーページは該当するURLがなかった場合に表示させるページです。
404エラーページを表示させるテンプレートファイルは下記の2つです。
- 404.php
- index.php
作成者一覧ページ
作成者一覧ページは任意で指定した作成者が投稿したページを一覧として表示することができるページです。
作成者一覧ページを表示させるテンプレートファイルは下記の5つです。
- author-(nicename).php
- author-(ID).php
- author.php
- archive.php
- index.php
表示される優先順位は「①author-(nicename).php ②author-(ID).php ③author.php ④archive.php ⑤index.php」となります。
まとめ
今回はテンプレートファイル、テンプレート階層についてまとめました。
正しく理解できていないと、「テンプレートファイルを修正したのに修正が反映されていない」、「画面が真っ白になった」などの問題が生じてしまいます。
ページ毎にテンプレートファイルを使い分けないといけない事をここで覚えて下さいね!