wordpressのテンプレートとは何か、またテンプレート階層に関して簡単に説明する。
テンプレート階層の表示の優先順位や、それぞれ小tなる役割を持つホームページ、固定ページ、投稿ページごとのテンプレートファイルの優先順位も紹介。
カスタムテンプレートに関しても説明する。
そもそもwordpressのテンプレートとは何か
テンプレートとは、Webページの種類ごと、またはWebページのパーツごとに用意されるphpファイルのこと。
Webページの種類は具体的に何がある?

例えば上記のページでWebページの種類を分類するとこのようになる。
- index.php : メインのページ。ホームページ。
- archive.php : ニュースの一覧を表示するページ
- single.php : ニュースの詳細を表示するページ
- archive-blog.php : ブログの一覧を表示するページ
- single-blog.php : ブログ一記事のの詳細を表示するページ
- page-contact.php : お問い合わせページ
それぞれのphpファイルに、役割があり、これらのphpファイルをテンプレートという。
一般的に使われるテンプレートは下記のようなものがある。
種類 | テンプレート | 内容 |
---|---|---|
テーマの必須ファイル | index.php | 他に適切なテンプレートがないときに最終的に使用されるファイル |
フロントページ | front-page.php | サイトのトップページ |
ホームページ | home.php | ブログのトップページ |
固定ページ | page.php | 固定ページ |
投稿 | single.php | 個別の投稿の詳細ページ |
カテゴリー | category.php | カテゴリーごとの記事一覧ページ |
タグ | tag.php | タグごとの記事一覧ページ |
作成者 | author.php | 作成者別の記事一覧ページ |
日付 | date.php | 日付ごとの記事一覧ページ |
アーカイブ | archive.php | 記事一覧ページ |
検索結果 | search.php | 検索結果のページ |
404 (Not Found) | 404.php | 404エラー(Not Found)ページ |
上記含めてさらに細かくテンプレートファイルを知りたい場合は、WordPress の公式オンラインマニュアルを確認するとさらに細かく確認できる。
Webページのパーツとは?
テンプレートはページ毎だけでなく、パーツ毎にも使われる。
例えばwordpressのヘッダーとフッターの例を見てみる。

wordpressでは、header.phpの中に書かれているヘッダーとfooter.phpの中に書かれるフッターはどのページにも共通して入れることができる。
図のように、ページ毎に「テンプレートタグ」と呼ばれるタグを書けば、同じパーツをどこでも使い回すことができる。
テンプレートタグの例:
- ヘッダーを呼び出す時: <?php get_header() ;?>
- フッターを呼び出す時: <?php get_footer() ;?>
という形だ。
このようにヘッダーやフッターのようなパーツを作るときに用いられるファイルもテンプレートと呼ばれる。
なのでここではheader.phpもfooter.phpもテンプレートと呼ばれる。
テンプレートタグの詳細についてはこちらに書いた。
-
-
wordpressのテンプレートタグとは。よく使うテンプレートタグを図解で解説
WordPressでのサイト制作やテーマの自作で必ず必要になるテンプレートタグについて説明。 wordpessのカスタマイズで便利なよく使うテンプレートタグの一覧も用意。 テンプレートタグとは テンプ ...
続きを見る
テンプレート階層とは
テンプレート階層とは、どのテンプレートファイルを使用するかを定めるルールのこと。
テンプレート階層の優先順位
テンプレートファイルには表示の順番に優先順位がある。
その優先順位を確認するには、公式オンラインマニュアルの図を見ることで確認できる。

表示ページの優先順位
例えば上の図でいくと、page.php > singular.php > index.phpという順番で繋がっている。
この順番で行くと、テーマファイルの中に、もしpage.phpやsingular.phpが存在しなかった場合、index.phpが表示されるということになる。
例えば、お問い合わせの固定ページを作るとする。
もしpage.phpを用意しなければ、URLが「〇〇.com」でも「〇〇.com/contact/」でも自動的にindex.phpに繋がるようになる。
もし固定ページのテンプレートであるpage.phpをテーマファイルに入れれば、「〇〇.com/contact/」のURLでは優先的に固定ページが表示されるようになる。

ページ毎のテンプレート階層
wordpressのページにはそれぞれホームページ、投稿ページ、固定ページ、カテゴリー別の記事一覧ページなど様々な役割があるが、それぞれのページ毎に、もっと細かく優先順位をつけることができる。
ホームページ
ホームページは、一番最初に表示されるメインのページ。
テンプレートの優先順位は以下のようになる。
- front-page.php
- 固定ページ
- home.php
- index.php
固定ページ
固定ページとは、会社概要やお問い合わせなどそのページ一つだけで完結するページのこと。
テンプレートの優先順位は以下のようになる。
- page-{slug}.php
- page-{ID}.php
- page.php
- index.php
スラッグとは?
slugとは、固定ページや投稿につけることのできるキーワードのこと。
例えば「page-{slug}.php」のファイルを考えてみる。
もしお問い合わせを作りたい場合であれば、スラッグに「contact」と付けて、ファイルに「page-contact.php」と付けることで、
〇〇.com/contact/に接続したときに「page-contact.php 」に接続することができる。
どうやって使い分けるの?
例えばお問合せページを作るとき、もしpage.phpにお問い合わせの項目をつけてしまうと全ての固定ページにお問い合わせの項目がついてしまう。
会社概要のページやメンバー紹介のページを個別ページで作りたいときも、全てのページにお問い合わせの項目がついてしまう。
それぞれ個別のデザインが映し出されるように、スラッグをつけたファイルを用意することで、それぞれ異なる個別ページを用意することができる。

カテゴリー別記事一覧ページ
カテゴリー別記事一覧ページは、カテゴリー分けされた記事の一覧を表示するページ。
例えばこのサイトなら、wordpressのカテゴリーページは下記のようになる。

カテゴリー別記事のテンプレートの優先順位は以下のようになる。
- category-{slug}.php
- category-{ID}.php
- category.php
- archive.php
- index.php
どうやって使い分けるの?
こちらも先ほどと同じく、スラッグをつけて別ファイルを用意することで、別のデザインを用意できる。
例えばwordpressの記事一覧ページのバックグラウンドの色は青にして、他の記事一覧ページのバックグラウンドの色は白にする、という場合は、
wordpress用の記事一覧ページように別途「category-wordpress.php」というようなファイルを用意することができる。
投稿ページのテンプレート
投稿ページは、それぞれの個別の記事のページのデザインを表示する。
テンプレートの優先順位は以下のようになる。
- single-{post-type}.php
- single.php
- singular.php
- index.php
カスタムテンプレートとは
カスタムテンプレートとは、固定ページを作成する際に選択することができるオリジナルのテンプレートのこと。
編集画面の横のテンプレートで固定ページのデザインを変更できるが、ここでオリジナルのテンプレートを追加することができる。

以上Wordpressのテンプレートとテンプレート階層に関して説明した。
wordpressの使い方ののまとめ記事はこちら。
-
-
ブログの始め方 WordPressを使ってブログを始める為の準備を1から解説
このページでは、wordpressを使ったブログの始め方、ブログの立ち上げ方から、インストールの方法、wordpressのカスタマイズのやり方など、wordpressの使い方を順序立てて解説していく。 ...
続きを見る