いまWordPressの公式テーマのひとつである、TwentySixteenをカスタマイズしたいと考えています。そのときにまずはじめに取り組んだのが、テンプレートファイルとテンプレート階層という用語の理解です。
テンプレートファイルやテンプレート階層に関する説明は、本やWebのブログ記事などを調べれば、いくらでも出てきます。
その中で個人的にいろいろ調べたところ、特にWordPress Codexと一歩先にいくWordPressのカスタマイズがわかる本が非常に分かりやすかったので、それぞれ参考にさせていただきました。
テンプレートファイルとは
テンプレートファイルはWordPressサイトを表示させるためのファイルのことを言います。WordPressのサイトはひとつのファイルで出来上がっているわけではなく、それぞれの役割を持った複数のファイルで構成されています。
ちなみにその複数のテンプレートファイルが集まったものを、テーマと呼びます。
テンプレート階層とは
WordPressでは個別投稿ページ、固定ページ、アーカイブページを表示する際に、どのテンプレートファイルを表示させるか、あらかじめルールが決められています。このルールのことをテンプレート階層と呼びます。
WordPressの各ページは、”http://example.com/?cat=1“のように、URIを使って表示されます。この疑問符”?”や、他にもアンド記号”&”を使って、どの種類のページ(検索ページ、カテゴリーページ、アーカイブページ) が要求されているかを決定します。そのあとにテンプレートファイルが選択され、テンプレート階層で決められたとおりに表示されていきます。
例えば、http://example.com/blog/category/your-cat/ というURIがクリックされた場合、以下のように読みこまれていきます(WordPress Codexからの引用)
1.カテゴリーID が 4 なら、WordPress はテンプレートファイル category-4.php を探します。
2.見つからなければ、次に WordPress は一般的なカテゴリーテンプレートファイル category.php を探します。
3.このファイルもなければ、WordPress は一般的なアーカイブテンプレートファイル archive.php を探します。
4.これもなければ、WordPress はメインテーマテンプレートファイル index.php を使用します。
なお、上記の例以外についても、階層構造の中でどのうような順番で読まれていくかは、WordPress Codex内で図を使って説明されています(画像は図のスクリーンショット)。
〔参考サイト〕