投稿のカテゴリごとにテンプレートを変える
投稿のカテゴリ毎にテンプレートを変えるには、single.phpにテンプレートを分岐して読み込みさせる記述をします。なので、single.phpは『single-default.php』などにコピーをしてからsingle.phpの内容を次のように書き換えます。
single.phpに記述します(書き換えます)
<?php $post = $wp_query->post;
if ( in_category('blog') ) {
include(TEMPLATEPATH.'/single-blog.php');
//カテゴリのスラッグがblogなら single-blog.phpを読み込む
} elseif ( in_category('health') ) {
include(TEMPLATEPATH.'/single-health.php');
//2つ目のカテゴリ health なら single-health.phpを読み込む
} else {
include(TEMPLATEPATH.'/single-default.php');
//上記以外はこれを読み込む
}
?>
カテゴリや投稿タイプが少ないサイトなら上記の記述でまかなえますが、複数のカテゴリを指定して特定のテンプレートを適用させたいときには elseif のところを
elseif ( in_category( array(
'photo-blog',
'news',
'favorites',
)) ) {
include(TEMPLATEPATH.'/single-blog.php');
array を使って複数のカテゴリを指定することもできます。