Примерно это делается так:
Вот тут
https://codex.wordpress.org/The_Loop в разделе "Multiple Loops Example 1" есть пример решения вашего кейса:
// Get the last 10 posts in the special_cat category.
<?php query_posts( 'category_name=special_cat&posts_per_page=10' ); ?>
<?php while ( have_posts() ) : the_post(); ?>
<!-- Do special_cat stuff... -->
<?php endwhile; ?>
Т.к. у вас родительская пустая, то ничего не выведется.
На всякий случае вот так можно исключить категории из списка, но есть подозрения, что она исключит поддиректории:
<?php
if ( is_home() ) {
query_posts( 'cat=-1,-2,-3' );
}
?>
В крайнем случае вы можете вручную отслеживать категорию текущего поста в цикле и пропускать посты из родительской категории. Вот так можно узнать текущую категорию (родительская):
$cat = get_the_category()
Подробнее про query_posts тут
https://codex.wordpress.org/Function_Reference/que...
Надеюсь, вам это поможет.