WordPress でカテゴリーごとにデザインを変える
wp-content/themes/使用中のテーマ/ にて、
category.php がある場合は、カテゴリーアーカイブ(?cat=ID)を選んだときにそれが使われ、なければ index.php が使われる。
category-ID.php がある場合、それはそのIDのカテゴリーアーカイブのときに使われる。
例えば、?cat=48 というカテゴリーを選ぶと、
1. category-48.php
2. category.php
3. index.php
の順番に探して、あったものを使う。
(ホントはもっとあるので、詳しくはこちら > テンプレート階層)
1. のファイルを用意せずに、2.や3.のファイル内で if文を使って分岐させることもできる。
カテゴリーアーカイブを開いたとき、そのカテゴリーによって変える場合、
<? php
if(is_category(’43’)) {
ここに?cat=43のときの処理
} else {
その他のときの処理
}
?>
1つの投稿(?p=)を開いたとき、その投稿が属するカテゴリーによって変える場合、
<? php
if(in_category(’43’)) {
ここに?cat=43のときの処理
} else {
その他のときの処理
}
?>
is_categoryとin_categoryが違う。
で、処理の部分に、使うヘッダーファイルやサイドバーファイルを指定したりする。
通常のヘッダーファイルは header.php であり、
<? php get_header(); ?>
で呼び出すが、
<? php get_header(’48’); ?>
と書くと、header-48.php が呼び出される。
<? php get_header(‘movie’); ?>
というように文字でもよく、この場合はheader-movie.php が呼び出される。
<?php include (TEMPLATEPATH . ‘/header-movie.php’); ?>
というようにも書けるので、これはheader-TAG.php の形じゃない場合に使えるかな。