WordPress – 個別記事用テンプレートsingle.phpをカテゴリー毎に変更する条件分岐

WordPress
この記事は約2分で読めます。
スポンサーリンク

カテゴリーページや固定ページなどは、テンプレート階層によりスラッグや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');
}
?>

コメント

タイトルとURLをコピーしました