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

 

投稿者 kato

これはテスト画像ですよ。テストです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA