WordPressのcategory.phpとsingle.phpは通常、どのカテゴリに対しても同じテンプレートを読み込ませます。
例)
カテゴリA → category.php・single.php
カテゴリB → category.php・single.php
カテゴリC → category.php・single.php
これをカテゴリごとに別々のテンプレートを読み込ませる方法をご紹介します。紹介しているのはcategory.phpと書いていますが、archive.phpでも同じ結果を得られます。
例)
カテゴリA → category-1.php・single-1.php
カテゴリB → category-2.php・single-2.php
カテゴリC → category-3.php・single-3.php
category.php
category.phpは中身を全部を消して以下のように書き換えてください。
<?php if (is_category('スラッグまたはカテゴリID')) { // カテゴリA include(TEMPLATEPATH . '/category-1.php'); } else if (is_category('スラッグまたはカテゴリID')) { // カテゴリB include(TEMPLATEPATH . '/category-2.php'); } else if (is_category('スラッグまたはカテゴリID')) { // カテゴリC include(TEMPLATEPATH . '/category-3.php'); } else { include(TEMPLATEPATH . '/category-4.php'); } ?>
なおここではどのカテゴリにも該当しない場合、category-4.phpが適用されるようになっています。
single.php
同じようにsingle.phpの中身も全部消して以下のように書き換えてください。
<?php if ( in_category('スラッグまたはカテゴリID') ) { // カテゴリA include(TEMPLATEPATH . '/single-1.php'); } else if ( in_category('スラッグまたはカテゴリID') ) { // カテゴリB include(TEMPLATEPATH . '/single-2.php'); } else if ( in_category('スラッグまたはカテゴリID') ) { // カテゴリC include(TEMPLATEPATH . '/single-3.php'); } else { include(TEMPLATEPATH . '/single-4.php'); } ?>
これで完了です。あとはそれぞれcategory-◯.php、single-◯.phpをいつものように編集して頂いたらOKです。