カスタム投稿タイプの親カテゴリーごとに子カテゴリーの記事一覧を表示する
カスタム投稿タイプの、親カテゴリーごとに子カテゴリーの記事一覧を表示する
<?php
$target_post = 'custom1'; // カスタム投稿スラッグ
$target_post_cat = 'cusntom1_category'; // カスタム投稿のカテゴリー
$post_count = -1;
$cat_args = array(
'parent' => 0, //トップレベルのタームのみ
'hierarchical' => 0 //子タームを含めない
);
$cats = get_terms($target_post_cat, $cat_args);
foreach( $cats as $cat ):
?>
<?php
$target_cat_slug = esc_html($cat -> slug);
$target_cat_name = esc_html($cat -> name);
?>
<div class="block area-block" id="<?php echo $target_cat_slug;?>">
<div class="cover">
<h2 class="heading02"><?php echo $target_cat_name; ?></h2>
<?php $child_cats = get_terms($target_post_cat,'hierarchical=0&hide_empty=1&parent='.$cat -> term_id); ?>
<?php if( $child_cats ) : ?>
<?php foreach( $child_cats as $child_cat ): ?>
<?php
$child_cat_name = esc_html($child_cat -> name);
$target_cat_slug = esc_html($child_cat->slug);
?>
<div class="pref-part part">
<h3 class="heading03"><i class="far fa-dot-circle"></i><?php echo $child_cat_name; ?></h3>
<ul>
<?php
$args = array(
'post_type' => array($target_post),
'taxonomy' => $target_post_cat,
'term' => $target_cat_slug,
'post_status' => 'publish',
'posts_per_page' => $post_count, // 表示するページ数
'orderby' => 'menu_order',
'order' => 'DESC' // 並び順
);
$my_query = new WP_Query($args);
?>
<?php if( $my_query->have_posts() ) : ?>
<?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?>
<li>
<p class="shopname">
<?php if(get_post_meta( $post->ID, 'url', true )): ?>
<a href="<?php the_field('url');?>" target="_blank" rel="nofollow"><?php the_title();?></a> <i class="far fa-window-restore"></i>
<?php else:?>
<?php the_title();?>
<?php endif; ?>
</p>
<p class="address"><?php the_field('address');?></p>
<?php if( is_pc()|is_tb() ){ ?>
<p class="tel font-designed"><i class="fas fa-phone"></i><?php the_field('tel');?></p>
<?php };?>
<?php if( is_sp() ){ ?>
<a class="tel button btn-small font-designed" href="tel:<?php the_field('tel');?>"><i class="fas fa-phone"></i><?php the_field('tel');?></a></p>
<?php };?>
<?php
$icons = get_field('icons');
if ($icons):
?>
<div class="icons">
<?php
$cfcb = get_field_object('icons');
$cfcbId = get_post_meta($post->ID,'icons');
$cfcbId = $cfcbId[0];
foreach($cfcbId as $v):
?>
<a href="#ss-menu" class="scroll-btn"><img src="<?php bloginfo('template_url');?>/images/support/<?php echo $v; ?>.svg" alt="<?php echo $cfcb['choices'][$v];?>"></a>
<?php endforeach;?>
</div>
<?php endif;?>
</li>
<?php endwhile; endif; ?>
</ul>
</div><!--//pref-part-->
<?php endforeach; ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
</div><!--// cover-->
</div><!--// area-block-->
<?php endforeach; ?>