アトリエロワ

single.phpをカテゴリーごとに分岐wordpress

single.phpに下記を記載

<?php
if ( in_category('works') ) {
    get_template_part('single','works');
} elseif ( in_category('column') ) {
    get_template_part('single', 'column');
} elseif ( in_category('news') ) {
    get_template_part('single', 'news');
} else {
    get_template_part('single', 'news');
}
?>

テンプレートを追加

テンプレートが無いものが一つでもあるとエラーになるので必ず作る

single-works.php
single-column.php
single-news.php
single-other.php

カテゴリーとその子カテゴリーに属するページも同じテンプレートを使うとき

functions.php

function post_is_in_descendant_category( $cats, $_post = null ){
    foreach ( (array) $cats as $cat ) {
          $descendants = get_term_children( (int) $cat, 'category');
           if ( $descendants && in_category( $descendants, $_post ) )
               return true;
    }
    return false;
 }

single.php

<?php
if ( in_category(4) || post_is_in_descendant_category(4))  {
    get_template_part('single','works');
} elseif ( in_category(5) || post_is_in_descendant_category(5)) {
    get_template_part('single', 'column');
} elseif ( in_category(1) || post_is_in_descendant_category(1)) {
    get_template_part('single', 'news');
} else {
    get_template_part('single', 'news');
}
?>

HOME > wordpress設計術 > single.phpをカテゴリーごとに分岐wordpress

wordpress設計術

wordpress設計術