<?php if (is_category(5) || cat_is_ancestor_of(5, $cat)) { ?> skyまたはskyの子孫となるカテゴリ一覧ページで表示される部分 <?php } ?>
ただ プリゲットポストpre_get_posts
で使えない
海外のサイトで発見
https://wordpress.stackexchange.com/questions/46008/how-to-check-if-a-child-category-is-being-queried
function change_number_of_posts($query) { if ($query->is_category){ $cat = get_queried_object(); $cat_id = (int) $cat->term_id; if( $query->is_category('recipes') || $query->is_category('product-reviews')){ $query->query_vars['posts_per_page'] = -1; }elseif(cat_is_ancestor_of(6,$cat_id)){ $query->query_vars['posts_per_page'] = -1; } } return $query; } add_filter('pre_get_posts', 'change_number_of_posts');
だもんでwelcart用にこうなった
//welcart用 if ($query->is_category){ $cat = get_queried_object(); $cat_id = (int) $cat->term_id; if (is_category(287) || cat_is_ancestor_of(287, $cat_id) && $query->is_main_query() ) { $query->set('posts_per_page', 12 ); $query->set('meta_key','release'); $query->set('orderby', array('meta_value' => 'DESC', 'date' => 'DESC') );//ブログはmeta_key release を使わないから'date' => 'DESC'が適用 } }