カテゴリーごとにデザインを変える方法

通常のブログ構築ではそんなに使うケースはないのですが、お仕事でカスタマイズを行うと、どうしてもカテゴリーレベルでのデザイン個別調整が必要になってきます。今回はWordPressのカスタマイズをしてサイトを構築する際にどうしても必要になってくる基本的な対応パターンをご紹介します。

CSSを使ってデザインの調整を行うパターン

これはWordPressのカスタマイズになるかどうか?という意味では微妙な所で、どちらかというとCSSでのテクニックになります。

記述例:BODYタグにカテゴリー名を直接IDとして記述。IDを記述する箇所はBODYタグでなくとも構いません。

<body id="<?php single_cat_title('', 'true'); ?>">

表示結果

<body id="flash">

style.css
Flashカテゴリーではテキストの色が赤くなります。

body#flash .entry{
color: RED;
}

※今回はIDとして記述しましたが、複数カテゴリーに記事が属する可能性を考えると、クラスとして指定したほうが望ましいといえます。

category.phpの中で条件分岐を使うパターン

表示する記事のカテゴリーIDをPHPの条件分岐で拾い、表示するテンプレートを決定するパターンです。ちょっとした文言の表示程度であれば使い勝手は良いのですが、本格的にデザインカスタマイズという意味では次の「独立したデザインテンプレートを使うパターン」が良いと思います。

category.php

//カテゴリーIDが17かどうかで読み込むテンプレートを選択
if( is_category(17) )
{
include( 'a-template.php' );
} else {
include( 'b-template.php' );
}

独立したデザインテンプレートを使うパターン

これが一番シンプルだと思います。
通常、カテゴリーで使うテンプレートは「category.php」ですが、特定のIDをもったカテゴリーについては「category.php」よりも「category-ID.php」のほうが優先度が高いため、それが採用されます。単純にテンプレートの数を増やせばよいので、カテゴリーIDがすでに決まっている場合にはこちらを使う事をおすすめします。

//通常のカテゴリーテンプレート
category.php

//カテゴリーIDが3の場合はこちらを使う
category-3.php

//カテゴリーIDが8の場合はこちらを使う
category-8.php

2 Responses to “カテゴリーごとにデザインを変える方法”

  1. [...] 以前カテゴリーごとにデザインを変える方法で、簡単にデザイン調整出来る方法をポストしたのですが、続編でWordPressのPHPタグについてです。 [...]

  2. [...] http://nulldesign.jp/blog/wordpress/154.html#topic02 カテゴリー: テンプレートの編集   パーマリンク ← カテゴリーのURLとカテゴリー名を取得する関数 [...]

Leave a Reply