カテゴリごと別々に《single.php》のデザインを変えたい場合
- 2014年01月29日
- その他
投稿した記事(単一の記事)毎に別のsingle.phpを適用したい!
っと言うわけで、例えば、
「wordpress」と「css」のカテゴリがあったとして、それらのカテゴリに属した記事を表示させる時に、各々別のデザインを適用させたい場合の話。
「single.php」は「page.php」みたいに「page-1.php」とかの名前をつけてテンプレートを増やしていくことができないので、「single.php」自体に条件分岐を設けて、その条件に応じて別のテンプレートを読み込むようにしてこの動作を実現させます。
まず、カテゴリ(x)の時に適用するテンプレート(single-1.phpとしましょう)と、カテゴリ(y)の時に適用するテンプレート(single-2.phpとしましょう)を準備します。
そして、single.php自体の内容を下記の通りにします。
<?php $post = $wp_query->post; if ( in_category('【カテゴリ(x)のカテゴリID】') ) { include(TEMPLATEPATH.'/single-1.php'); } else { include(TEMPLATEPATH.'/single-2.php'); } ?>
さらに複数のテンプレートを適用させたい場合は条件を増やしましょう。
(x,y,z………)
<?php $post = $wp_query->post; if ( in_category('【カテゴリID】') ) { include(TEMPLATEPATH.'/single-1.php'); elseif ( in_category('【カテゴリID】') ) { include(TEMPLATEPATH.'/single-2.php'); } elseif ( in_category('【カテゴリID】') ) { include(TEMPLATEPATH.'/single-3.php'); } else { include(TEMPLATEPATH.'/single-4.php'); } ?>