WordPress 投稿のカテゴリーでテンプレート

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

 

最新情報をチェックしよう!
>最強のWordPressテーマ「THE THOR」

最強のWordPressテーマ「THE THOR」

システムの構築・保守運用「   」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG