1. テーマ
  2. テンプレート階層の基本とテーマのカスタマイズ

テンプレート階層の基本とテーマのカスタマイズ

2015/11/12

WordPressテーマカスタマイズするときに知っておきたいのが、テンプレート階層です。テンプレート階層とは、テンプレートファイルを出力する際の優先順位を指します。具体例をあげて解説します。

WordPressのテンプレート階層とは

WordPressのテンプレート階層を一言で表すと、「テンプレートファイルを出力する際の優先順位を定めたルール」です。

WordPressでは、表示を要求されたページのURLからページの種類を判断し、その種類に応じてどのテンプレートファイルを使うかを優先順位にしたがって決定します。この優先順位となるのがテンプレート階層です。

テンプレート階層の概観図

WordPress公式マニュアル Codexでは、テンプレート階層の概観図が紹介されています。下図は最新(2015年11月10日時点)の概観図で、クリックすると拡大表示できます。

テンプレート階層概観図

ここまでの説明だけではわかりづらいので、具体例をあげてみます。

テンプレート階層を理解するための具体例

あなたが今ご覧になっているこのページ「テンプレート階層の基本とテーマのカスタマイズ」には、どうやってたどり着きましたか?

Yahoo!やGoogleの検索結果から来られたのでしょうか?それとも、このサイト内の別のページからですか?あるいは、ブックマークしていただいてたのでしょうか…?

いずれの方法にしても、あなたはブラウザを通じて
「URL:http://wp-exp.com/blog/template-hierarchy/を表示しなさい」
と要求をしている
ことになります。

その要求は、当サイトのコンテンツを管理するWordPressというシステムに伝わります。このときWordPressは、そのURLから「ページの種類」を判断します。

ページの種類とは
ページの種類には、ブログ投稿・固定ページ・アーカイブページ・検索結果ページなどがあります。その他にも“ページの種類”として定義されているものは、先ほど紹介した概観図背景が黒色のものが該当します。

具体例に話を戻しましょう。今ご覧のページ「テンプレート階層の基本とテーマのカスタマイズ」は、管理画面メニューの[投稿]>[新規投稿]で作成しています。つまり、“ページの種類”として定義されているもののうち、「ブログ投稿」に該当します。

テンプレート階層概観図-ブログ投稿

概観図で、「ブログ投稿」から右に進むと次のように書かれています。

  1. single-post.php
  2. single.php
  3. singular.php
  4. index.php

下図の赤枠で囲んでいる部分です。クリックすると拡大表示できます。

ブログ投稿-テンプレート階層

「ブログ投稿」の表示を要求されたWordPressは、この順番でテーマ内のテンプレートファイルを探します

もし、使用しているテーマ内に、上記4つのテンプレートファイルのうちindex.phpとsingle.phpとが存在する場合、投稿の表示には、より優先順位の高いsingle.phpの内容が出力されるのです。

テーマをカスタマイズするにはテンプレート階層を意識する

ここまで、ページの種類によって出力されるテンプレートファイルが異なることがわかりました。

なので、テーマをカスタマイズする場合は、どの種類のページを修正しようとしていて、かつ、どのテンプレートファイルを編集すればいいのかを知る必要がある。つまりテンプレート階層を意識する必要があるというわけです。

概観図からも分かるように、全てのページをindex.php(概観図の右端)1つだけで出力することもできます。しかし、多くのWordPressテーマでは、管理や編集をよりかんたんにするために複数のテンプレートファイルが含まれているのです。

テンプレートファイルの役割

テーマの中に含まれるテンプレートファイルは、レイアウト・デザイン・表示内容などをページの種類ごとに変更する役割があります。したがって、もしあなたが使っているテーマに大量のテンプレートファイルがあるとすれば、必ずしも全部必要というわけではありません

例えば、あなたのサイトに検索フォームを設置していないなら「search.php」は必要ありませんし、投稿にタグを全く設定していないなら「tag.php」は不要です。

テーマからテンプレートファイルを削除する際には、バックアップしておきましょう。

おすすめの書籍

小さなお店&会社の WordPress超入門

WordPressでビジネスサイトを作るために必要な、基本的な知識が理解できる“超”入門書。Web制作に必要なHTML・CSS・PHPなどの専門知識がなくても読み進められる1冊です。SEO(検索エンジン最適化)やセキュリティの対策についても解説されています。

おすすめのテーマ

WordPressテーマ「NEXTAGE (tcd021)」

WordPressテーマ「LAW」

コーポレートサイト(企業サイト)向けのテーマ。第一印象で信頼性や専門性を的確にアピールし、Webサイトのゴールである「お問い合わせ」まで自然に繋がっていく“導線”にこだわったテンプレートです。

カテゴリー

ビジネスサイトを作りたいあなたに

おすすめのテーマ、あります。