1. TOPTOP
  2. Webサービス

WordPressのテンプレートファイルとテンプレート階層について

Wapuu

いま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内で(新しいタブで開く)を使って説明されています(画像は図のスクリーンショット)。

template_hierarchy

〔参考サイト〕