wordpress カテゴリ別テンプレート

wordpressでカテゴリごとに違うテンプレートを適応させたい場合。デフォルトのテンプレートcategory.phpに分けたいカテゴリのIDを追加するだけで作成されます。

カテゴリID = 1 =  category-1.php
カテゴリID = 2 =  category-2.php

すごく簡単ですね。ただこれで作成されるのは、各カテゴリの一覧画面のみで、各カテゴリの記事ページもテンプレートを分けたい場合は、single.phpも編集する必要があります。

<?php if (in_category('1')): ?>

カテゴリー1の時の出力

<?php elseif (in_category('2')): ?>

カテゴリー2の時の出力

<?php else: ?>

その他のカテゴリーの時の出力

<?php endif; ?>

カテゴリ事にsingle.phpのテンプレート自体を分ける場合は


<?php
 $post = $wp_query->post;
 if ( in_category('1') ) {
 include(TEMPLATEPATH . '/single-1.php');
 } elseif ( in_category('2') ) {
 include(TEMPLATEPATH . '/single-2.php');
 } else {
 include(TEMPLATEPATH . '/single.php');
 }
 ?>

と記述して各テンプレートを用意します。
wordpressも複数Blog使えるようになって欲しいなぁ。