Здравствуйте!
Была у меня раньше похожая задача...
Вот, простой скелет того, что вы хотите:
<?php
$currentTerm = get_queried_object();
$children = get_term_children($currentTerm -> term_id, 'MY_TAXONOMY');
if($children): ?>
<?php
$args = array(
'taxonomy' => 'MY_TAXONOMY',
'hide_empty' => false,
'depth' => 1,
'child_of' => get_queried_object()->term_id
);
$terms = get_terms( $args );
$count = 1;
?>
<?php foreach ($terms as $term): ?>
<a href="<?php echo $term->slug ?>"><?php echo $term->name ?></a>
<?php endforeach; ?>
<?php else : ?>
<?php
$postCount = 1;
$args = array(
'posts_per_page' => -1,
'MY_TAXONOMY' => $currentTerm->name
);
$query = new WP_Query( $args );
if ($query->have_posts()) :
while ($query->have_posts()) : $query->the_post(); ?>
<a href="<?php the_permalink() ?>">
<div class="title"><?php the_title(); ?></div>
</a>
<?php endwhile; ?>
<?php endif; ?>
<?php endif;?>
MY_TAXONOMY - моя кастомная таксономия. Вы поменяйте на свой вариант или используйте дефолтную таксономию рубрик.
В первой части мы получаем
get_queried_object();
и смотрим есть ли дочерние рубрики, если есть, то выводим их, а если нет (ветка else ), то выводим записи