1. テーマ
  2. テンプレート階層によるテーマカスタマイズのデメリット

テンプレート階層によるテーマカスタマイズのデメリット

2016/7/19

WordPressテーマカスタマイズするときのポイントとして、テンプレート階層を考慮するという点があります。しかし、テンプレート階層によるテーマのカスタマイズには、デメリットもあります。

テンプレート階層によるテーマのカスタマイズとは

テンプレート階層とは、ページの種類によって出力されるテンプレートファイルの優先順位です。

ページの種類とは、メインページ、カテゴリーページ、タグページなどのことです。またテンプレートファイルとは、テーマの中に含まれるindex.php、category.php、tag.php などを意味しています。

くわしくは、テンプレート階層の基本とテーマのカスタマイズをご確認ください。

テンプレート階層によるテーマのカスタマイズについて、具体例を挙げてみましょう。

例えば、スポーツに関するサイトで、次のカテゴリーを作成しているとします。

  • 野球
  • サッカー
  • テニス

これらのカテゴリーアーカイブページで、それぞれ下のように異なる画像を表示をさせるためのカスタマイズを考えてみましょう。

  • 野球カテゴリーアーカイブページ:野球関連の画像
  • サッカーカテゴリーアーカイブページ:サッカー関連の画像
  • テニスカテゴリーアーカイブページ:テニス関連の画像
カテゴリーアーカイブページとは
特定のカテゴリーに属している投稿の一覧を表示するページです。例えば、当サイトのプラグインカテゴリーのアーカイブページはこちらです。

1.カテゴリーアーカイブページのテンプレート階層を考える

テンプレート階層の基本とテーマのカスタマイズでもご紹介しているように、カテゴリーアーカイブページのテンプレート階層は次のとおりです。

  1. category-slug.php
  2. category-ID.php
  3. category.php
  4. archive.php
  5. index.php

WordPressでは、カテゴリーアーカイブページを表示するとき、テーマの中に上記1~5の順でファイルを探します。category-slug.phpが無ければcategory-ID.phpを探し、それも無ければcategory.phpを探すという具合です。

1.のslug(スラッグ)とは、カテゴリーに対して与えられる文字列です。くわしくは、用語集 – WordPress Codex 日本語版を参考にしてください。また、2.のIDとは、カテゴリーに対して自動的に割り当てられる数字です。

つまり、先ほど例に挙げたスポーツに関するサイトのテーマの中にcategory.phpはあるがcategory-slug.phpやcategory-ID.phpが無ければ、それを新たに作成することでカテゴリーアーカイブページごとに異なる表示をさせることができます。

2.カテゴリーごとのスラッグあるいはIDを確認する

スポーツに関するサイトでそれぞれのカテゴリーに対し、スラッグとIDが次のように割り当てているとします。

野球カテゴリー スラッグ:baseball
ID:1
サッカーカテゴリー スラッグ:soccer
ID:2
テニスカテゴリー スラッグ:tennis
ID:3

これら3つのカテゴリーに対して、テンプレート階層で優先順位の高いcategory-slug.phpを作成する手順は次のとおりです。

  1. テーマのディレクトリ(フォルダ)から、category.phpをダウンロード
  2. category.phpを必要な数(今回の例では3つ)だけコピーし、ファイル名を変更
    • 野球カテゴリー:category-baseball.php
    • サッカーカテゴリー:category-soccer.php
    • テニスカテゴリー:category-tennis.php
  3. category.phpを、テーマのディレクトリ(フォルダ)にアップロード

category-ID.phpを作成するのであれば、上記手順2のファイル名でbaseballを1に、soccerを2に、tennisを3に変更します。

テンプレート階層によるテーマカスタマイズのデメリット

今回の例では、テンプレート階層によってカスタマイズした結果、カテゴリーアーカイブページに関するファイルは元々あったcategory.phpを含めて下記の4つになりました。

  • category.php
  • category-baseball.php
  • category-baseball.php
  • category-tennis.php

さて、もしその後にカテゴリーアーカイブページ全てに共通するカスタマイズを施したくなったとしたらどうでしょうか?

答えは・・・。4つのカテゴリーアーカイブページに関するファイルを全て修正しなければなりません。この数が増えれば増えるほど、面倒な作業になってしまいます。これが、今回お伝えしたかったデメリットです。

こうしたテンプレート階層によるテーマカスタマイズのデメリットを回避するために、Wordpressの『条件分岐タグ』というものを使う方法があります。くわしくは、下記ページを参考にしてください。

おすすめの書籍

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

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

おすすめのテーマ

WordPressテーマ「NEXTAGE (tcd021)」

WordPressテーマ「LAW」

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

カテゴリー

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

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