<?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'が適用
}
}