WP 親子カテゴリー共通のテンプレートを使う

2014年2月4日

WordPressでカテゴリー別の表示をする場合、そのカテゴリー専用のテンプレート作成し
category-exhibit.phpなどのファイルを作らないとindex.phpで表示してしまうので
親カテゴリーがあっても、子カテゴリーを表示する場合は、子カテゴリー用のテンプレートファイルが必要になる。
しかし、親も子も同じテンプレートで良い場合、子の数分のテンプレートを
作らなくても、category.phpの内容を以下のようにするだけで、親子て同じテンプレートを
使うことができる。

category.phpの中身を以下のようにする。

この場合、親子で使用するテンプレートをcategory-srug.phpではなく
category-ID番号.phpでないとダメだった。

<?php
$cat = get_category( get_query_var( 'cat' ), false );
if ( $cat->category_parent > 0 ) :
include( STYLESHEETPATH . '/category-' . $cat->category_parent . '.php' );
else :
/* 親無しカテゴリーで、テンプレートファイルが無かった場合 */
endif;
?>

例えばexhibitionというカテゴリーが親でID:2、その子カテゴリーにExhibition2,Exhibition3,Exhibition4があった場合、category-2.phpを作ることで子カテゴリーの一覧記事もcategory-2.phpで表示される。

PAGE TOP