Здравствуйте!
Вам необходимо использовать цикл в цикле...
Например, при помощи foreach получаете категории и субкатегории, а потом while'ом получаете статьи.
Простой пример, который выводит Категории и записи для них
<?php $post_type = 'product';
$product_args = array(
'taxonomy' => 'product_cat',
'hide_empty' => true,
);
$terms = get_terms( $product_args );
foreach( $terms as $term ) : ?>
<div class="title"><span><?php echo $term->name; ?></span></div>
<?php $args = array(
'post_type' => $post_type,
'posts_per_page' => -1, //show all posts
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $term->slug,
)
)
);?>
<?php $posts = new WP_Query($args);
if( $posts->have_posts() ): while( $posts->have_posts() ) : $posts->the_post(); ?>
<div class="catalog-all-product">
<div class="images">
<?php the_post_thumbnail(); ?>
</div>
<div class="name">
<a href="<?php echo get_permalink(); ?>"><?php echo get_the_title(); ?></a>
</div>
</div>
<?php endwhile; endif; ?>
<?php endforeach; ?>
Источник -
https://gist.github.com/DevinWalker/6fb2783c05b46a...
https://stackoverflow.com/questions/1780386/loopin...