シングルページもカテゴリ別にデザインを設定

カテゴリトップに引き続き、今度はシングルページもカテゴリ別にデザインをカスタマイズしましょう。
ここまでくると「はたしてWordPressで構築する意味あんの?」とか聞こえてきそう。
おまけにカテゴリ数が半端なく多かったりしたら目も当てられません。
でも僕には必要なんです(泣)←なぜ泣く自分。
他に良い方法知っている方いらっしゃいましたらご教授ください。

■方法
single.phpの中でカテゴリ分岐を行い、該当するカテゴリのテンプレートphpを読み込みます。
・single.php

if (in_category(’1′)):
include (TEMPLATEPATH.’/カテゴリーAのシングルページ用テンプレート.php’);
elseif (in_category(’2′)):
include (TEMPLATEPATH.’/カテゴリーBのシングルページ用テンプレート.php’);
elseif (in_category(’3′)):
include (TEMPLATEPATH.’/カテゴリーCのシングルページ用テンプレート.php’);
else (in_category(’4′)):
include (TEMPLATEPATH.’/カテゴリーDのシングルページ用テンプレート.php’);
endif;
?>

あとはそれぞれのカテゴリシングルページ用のテンプレートphpを作成してアップロード。
オリジナルのsingle.phpをベースにして各カテゴリ別に一部を変更したものをカテゴリ分用意すると良いですね。

ちなみに「各カテゴリ、全部が全部違う訳じゃないよ、一部カテゴリの、それもヘッダの部分だけでいいんだよ」とかっていう人は、
同じように上記の分岐を入れたうえで、必要な部分だけをインクルードしても良いです。

■例)特定カテゴリのみ異なるヘッダーを読み込ませる
ヘッダーのphpをインクルードしてる部分

if (in_category('1')):
include (TEMPLATEPATH.'/header01.php');
elseif (in_category('3')):
include (TEMPLATEPATH.'/header02.php');
else:
get_header();
endif;
?>
以下に通常通りボディーとか、フッターとか既述

のように差し替えする。
上記の場合だとカテゴリBとカテゴリD以降はデフォルトの「header.php」が読み込まれ、
カテゴリAとCに関してはそれぞれに指定したヘッダーが読み込まれます。

コメントを残してみる

コメント