個別投稿表示の際のテンプレート名にカテゴリーを適用することはできません。
テンプレート階層 個別投稿表示
in_category を用いて、single.php のテンプレート内で分岐処理をしてください。
jim912様
ご回答をいただき、ありがとうございました。
素人なもので、お恥ずかしいのですが、
in_categoryを用いた分岐の書き方がわからず・・・
single-blog.php、single-news.phpは、レイアウトは同じものなのですが、
表示するヘッダー画像と、サイドバーを違うものを表示したく、
single.phpに、以下のように書いてみました。
<?php if ( in_category(‘1’) ) {
include(TEMPLATEPATH . ‘news.php’);
} else if ( in_category(’13’) ) {
include(TEMPLATEPATH . ‘blog.php’);
} else {
include(TEMPLATEPATH . ‘base.php’);
} ?>
この状態で確認すると、エラーが出てしまいます。
jim912様
連投で申し訳ありません。
single.phpの記述を、
<?php
$post = $wp_query->post;
if ( in_category(‘1’) ) {
include(TEMPLATEPATH.’/news.php’);
} else {
include(TEMPLATEPATH.’/blog.php’);
}
?>
このようにしたところ、うまく表示ができました。
ただ、newsや、blogに子カテゴリや孫カテゴリがあった場合に
うまくいきません。
そのような場合はどうしたらよいでしょうか?
恐れ入りますが、ご教授お願いいたします。
jim912様
ご回答をありがとうございました。
ご指摘の通りに、もう一度やってみます。
ありがとうございました。