Como mostrar postagens somente para a última subcategoria?

Eu tenho uma tree de categorias hierárquicas, que significa até 3-4 subcategorias com posts. Ao clicar em um link de categoria na página inicial, eu estou redirecionado para a página da categoria.

Eu preciso verificar se não há subcategorias para a categoria atual, depois mostrar postagens, MAS, se houver subcategorias, então mostre apenas subcategorias títulos e descrições sem posts. Em seguida, se eu clicar em um título de subcategoria, marque novamente se houver categorias de crianças para essa subcategoria. Se houver, mostre os títulos e as descrições; Se não houver, mostre as postagens relacionadas a essa subcategoria.

O que fiz até agora (código adicionado à página da categoria):

Obtenha o ID da categoria atual:

$CategoryPar = get_category( get_query_var( 'cat' ) ); $cat_id = $CategoryPar->cat_ID; 

Verifique se a categoria atual tem filhos / subcategorias e imprima-os:

 $args = array( 'child_of' => $cat_id, 'title_li' => __( ' ' ), 'current_category' => 0, 'pad_counts' => 0, 'taxonomy' => 'category' ); wp_list_categories( $args ); 

Agora recebo uma lista das subcategorias da categoria atual, mas ainda preciso evitar que as postagens sejam exibidas na categoria pai se ela tiver filhos, então tentei enrolar o loop em uma declaração condicional (também na category.php ) :

 if ( category_has_children( $cat ) == false) : get_template_part( 'loop' ); endif; 

e também em functions.php eu adicionei isso:

 function category_has_children( $term_id ) { $children = get_term_children( $term_id, "category" ); if ( is_array( $children ) ) { return $children; } else { return false; } } 

Solutions Collecting From Web of "Como mostrar postagens somente para a última subcategoria?"