カテゴリーページや固定ページなどは、テンプレート階層によりスラッグやIDを利用してそれぞれ別のテンプレートを読み込むことが可能ですが、個別記事を表示する single.php では、カスタム投稿タイプを使えば投稿タイプごとの指定は可能ですが、カテゴリー別にテンプレートを読み込むことは出来ません。
カテゴリーごとに違うテンプレートを読み込むには、条件分岐を使う必要があります。個別記事が読み込む single.php に条件分岐コードを書き込み、条件に従って他のテンプレートを読み込ませます。
まず、カテゴリーごとに読み込むテンプレートを作ります。例えば、 異なるテンプレートを使うカテゴリーのスラッグが slag1 と slag2 で、それぞれのテンプレートが single-slag1.php と single-slag2.php とします。その他の個別記事は single-other.php を使うこととします。
single.php に下記コードを書き込みます。
PHP
<?php if (in_category('slag1')) { //カテゴリスラッグ slag1 include(TEMPLATEPATH . '/single-slag1.php'); } else if (in_category('slag2')) { //カテゴリスラッグ slag2 include(TEMPLATEPATH . '/single-slag2.php'); } else { //他のカテゴリの投稿 include(TEMPLATEPATH . '/single-other.php'); } ?>
コメント