Suporte » Desenvolvendo com WordPress » Loop de Intercessão entre categorias

  • Boa noite,

    Estou quebrando a cabeça para fazer um loop onde liste categorias e seus posts, mas esses post devem está contido em um outro tipo de categorias.

    Explicando de outra maneira, eu tenho uma lista de móveis que fazem parte da categoria Coleção, e preciso listar somente os post que estão em outra categoria chamada Cadeiras.

    Alguém tem alguma ideia de como fazer isso? Consegui listar as coleções com seus moveis, mas não consigo restringir o loop a apenas um tipo de móvel.

    Vou deixar meu loop atual aqui:

    <?php $descendants = get_categories(array('child_of' => 10)); ?>
          <?php foreach ($descendants as $child) { ?>
          <?php $catPosts = new WP_Query(); $catPosts->query("post_type=movel&showposts=-1&cat=$child->term_id"); ?>
    
            <h2 class="text-uppercase title-cat-single"><?php echo $child->cat_name; ?></h2>
    
            <p><?php echo $child->description; ?></p>
    
            <div class="separador-line-sub line-cat clearfix"></div>
    
            <?php while ($catPosts->have_posts()) : $catPosts->the_post(); ?>
    
            <div class="col-md-3 movel-colecao">
    
              <a class="card" href="#<?php the_ID(); ?>">
                <?php the_post_thumbnail('full', array('class' => 'img-responsive border-null' )); ?>
                <div class="call-light-box"><p><span class="icon-mais"></span>Clique para aumentar</p></div>
              </a>
    
                 <!-- lightbox container hidden with CSS -->
              <a href="#_" class="lightbox" id="<?php the_ID(); ?>">
                  <?php the_post_thumbnail('full'); ?>
                  <h5><?php the_title(); ?></h5>
              </a>
    
            </div>
    
          <?php endwhile; ?>
          <div class="clearfix"></div>
          <?php } ?>

Visualizando 1 resposta (de um total de 1)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi @raphaelbdesigner,

    Conseguiu resolver?

    Pelo que entendi do seu problema, você precisa pegar os posts que estejam ao mesmo tempo em duas categorias, certo? O WP_Query possui um argumento para restringir entre uma ou mais categorias, o category__in. Você poderia substituir a linha

    <?php $catPosts = new WP_Query(); $catPosts->query("post_type=movel&showposts=-1&cat=$child->term_id"); ?>

    por

    <?php 
    	$catPosts = new WP_Query( array(
    		'post_type' => 'movel',
    		'posts_per_page' => -1,
    		'category__in' => array( $child->term_id, $id_termo_cadeiras ),
    	) );
    ?>

    para fazer uso dela.

    Não esqueça de voltar, seja para tirar alguma dúvida, seja para contar como resolveu e marcar seu tópico como resolvido, ok?

Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Loop de Intercessão entre categorias’ está fechado para novas respostas.