WordPressの投稿でカテゴリーに属しているとテンプレートを適用させたいのだが、公式のテンプレート優先を見るが、
個別投稿表示
個別投稿ページの表示に使用されるテンプレートファイル。
single-{post_type}.php – 投稿タイプが product ならば WordPress は single-product.php を探す。
single.php
singular.php
index.php
カテゴリ別の個別投稿テンプレートは無い模様。
投稿タイプ(postなど)で、カテゴリ別のテンプレートを適用できない模様。
カテゴリは1記事に対して複数設定ができるので、カテゴリ別にテンプレートを分ける事ができないのは当然だが、1記事1カテゴリであれば、カテゴリ別にテンプレートさせたい。
調べるとそんな場合、functions.phpにtemplate_includeフィルターを追加すればいいとの事。
例えば、releaseというカテゴリーがあれば、single-release.phpを適用させたい場合
function custom_template_include( $template ) { if ( is_single() && in_category( 'release ) ) { $new_template = locate_template( array( 'single-release.php' ) ); if ( '' != $new_template ) { return $new_template ; } } return $template; } add_filter( 'template_include', 'custom_template_include', 99 );
@See 感謝
http://morilog.com/wordpress/tips/custom_template_include/
https://codex.wordpress.org/Plugin_API/Filter_Reference/template_include