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の『条件分岐タグ』というものを使う方法があります。このことについては、別記事でご紹介する予定です。(※2011年6月18日追記)下記を参考にしてください。

おすすめの書籍

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

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

おすすめのテーマ

WordPressテーマ「NEXTAGE (tcd021)」

WordPressテーマ「LAW」

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

カテゴリー

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

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