プログラミングナレッジKnowledgeSide

2016.03.18

single.phpをカテゴリ別に分けて作成する

WordPressのテンプレートファイルにあるsingle.phpは、投稿の個別詳細ページにあたるテンプレートファイルです。このsingle.phpは通常投稿の場合、テーマの中に一つしかないため、カテゴリごとにデザインやレイアウト、コンテンツを変えたいといった場合に自由度がかなり下がってしまいます。

 

その場合は次のようにsingle.phpの中にカテゴリースラッグ名でテンプレートファイルを分岐できるようにコードを記述するとOKです。

 

【single.php】

<?php
if ( in_category(' カテゴリーAのスラッグ ') ) {
  include(TEMPLATEPATH . '/single-カテゴリーAのスラッグ.php');
  } else if ( in_category(' カテゴリーBのスラッグ ') ) {
  include(TEMPLATEPATH . '/single-カテゴリーBのスラッグ.php');
  }else {
  include(TEMPLATEPATH . '/single-その他のカテゴリー.php');
  }
?>

 

カテゴリースラッグ名で分岐されたテンプレートファイルの名前は自由に設定できますが、single-◯◯◯.phpなどにしておくとわかりやすいです。また親テーマでなく子テーマの場合はTEMPLATEPATHの部分をSTYLESHEETPATHに変更します。

 

あとは分岐させた先の各テンプレートファイルに、通常と同じくコーディングをしていくだけでOKです。

 

  • このエントリーをはてなブックマークに追加
>>記事一覧に戻る