Mostrar postagens na subcategoria somente quando naquela subcategoria

Eu tenho uma lista de subcategorias em uma barra lateral (filhos da categoria de nível superior) e também recebo uma lista de postagens abaixo de cada categoria. Eu só quero mostrar essas postagens quando estamos sob essa subcategoria ou quando estamos visualizando uma das postagens. Cada publicação vem em categoria de nível superior e subcategoria e não sei como obter a ID / nome de subcategoria atual. Eu entendo que você obtém uma ID de categoria como essa: $ category = get_the_category (); $ catID = $ category [0] -> cat_ID; Mas e quando uma postagem pertence a subcategoria e categoria e eu só preciso de uma subcategoria de ID, eu acredito? Código atual:

 array($cat->term_id) ); $my_query = new WP_Query($args); if ($my_query->have_posts()) : ?> 
  • <a href="https://wordpress.stackexchange.com//questions/41725/show-posts-under-subcategory-only-when-in-that-subcategory/">name; ?> category_parent != 0) { ?>
      have_posts()) : $my_query->the_post(); ?>
    • - <a href="https://wordpress.stackexchange.com//questions/41725/show-posts-under-subcategory-only-when-in-that-subcategory/">
  • name; endif;

    Solutions Collecting From Web of "Mostrar postagens na subcategoria somente quando naquela subcategoria"

    Se você usar o código seguinte:

     < ?php $cats = get_categories('child_of=6'); foreach ($cats as $cat) : $this_category = get_category($cat); $args = array( 'category__in' => array($cat->term_id) ); $my_query = new WP_Query($args); if ($my_query->have_posts()) : ?> 
  • < ?php echo $cat->name; ?> < ?php if ($this_category->category_parent != 0) { ?>
      < ?php while ($my_query->have_posts()) : $my_query->the_post(); ?> < ?php /*general loop output; for instance: */ ?>
    • - < ?php the_title(); ?>
    • < ?php endwhile; ?>
    < ?php } ?>
  • < ?php else : echo 'No Posts for '.$cat->name; endif; endforeach; ?>

    Você obterá algo como:

    subcategoria 1

     * - Post title 1 * - Post title 2 

    subcategoria 2

     * - Post title 3 

    Como você pode ver por subcategoria aparecerá apenas as postagens nessa subcategoria. Observe que eu movo $this_category = get_category($cat); dentro do foreach.

    Você pode filtrar para a subcategoria, verificando o que o pai da categoria é assim: $category_object->category_parent . O pai de qualquer categoria de nível superior será definido como 0, e os pais das subcategorias não serão.