Suporte » Temas » Não repitir posts na loop WordPress

  • Resolvido bruno_dp

    (@bruno_dp)


    Olá,

    Sou novato no desenvolvimento de temas para WordPress. Estou desenvolvendo um tema para meu site com várias loops, ou seja, varias áreas onde aparecem posts para uma determinada categoria, além de uma área de posts recentes e uma para slider. Como é vários loops, na área de últimos posts e de slider, por exemplo, aparece o post duplicado, ou seja, aparece o mesmo post da mesma categoria também na loop destinado a ela.

    Uso os seguintes códigos:

    Para área de últimos Posts

    <?php
    						global $post;
    						$args = array( 'numberposts' => 3, 'cat' => 0 );
    						$myposts = get_posts( $args );
    						foreach( $myposts as $post ) : setup_postdata($post); ?>
    						<div class="col-sm-6 col-md-4 art ">
    							<div class="thumbnail news">
    								<?php the_post_thumbnail(); ?>
    							</div>
    							<div class="caption ">
    								<div id="informacoes">
    									<span title="<?php the_time('j \d\e F \d\e Y') ?>" data-placement="bottom" data-toggle="tooltip"><span class="glyphicon glyphicon-time" aria-hidden="true"></span> <?php echo time_ago(); ?></span>
    								</div>
    								<h1 class="url"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
    								<p><?php the_excerpt(); ?><a role="button" class="btn btn-primary" href="<?php the_permalink() ?>">Continue lendo</a></p>
    							</div>
    						</div>
    					<?php endforeach; ?>

    Código para loops de uma determinada categoria

    <?php
    					$recent = new WP_Query("cat=0&showposts=4");
    					if ($recent->have_posts()) :
    					$post_cont = 0;  //Variável para testar a contagem
    					while ($recent->have_posts()) : $recent->the_post();
    					$post_cont++; //Inclementa a variável
    				?>
    				<?php if($post_cont == 1){?>
    				<!-- Posts com thumbnails-->
    				<div class="col-sm-6 col-md-6">
    					<div class="thumbnail news">
    						<?php the_post_thumbnail(); ?>
    					</div>
    					<div class="caption animaistitle">
    						<div id="informacoes">
    							<span title="<?php the_time('j \d\e F \d\e Y') ?>" data-placement="bottom" data-toggle="tooltip"><span class="glyphicon glyphicon-time" aria-hidden="true"></span> <?php echo time_ago(); ?></span>
    						</div>
    						<h1><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
    						<p><?php the_excerpt(); ?><a role="button" class="btn btn-primary btnanimais" href="<?php the_permalink() ?>" id="btnanimais">Continue lendo</a></p>
    					</div>
    				</div>
    				<?php } elseif($post_cont < 6) { ?>
    				<!-- Posts sem thumbnails-->
    				<div class="post posts-medios">
    					<div class="col-sm-6 col-md-6 art" >
    						<div class="media" style="margin-top: 7px;">
    							<div class="media-left">
    								<a href="#">
    								  <?php the_post_thumbnail( array(100,100) );?>
    								</a>
    							</div>
    							<div class="media-body animaistitle">
    								<h1 class="media-heading"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
    									<span title="<?php the_time('j \d\e F \d\e Y') ?>" data-placement="bottom" data-toggle="tooltip"><span class="glyphicon glyphicon-time" aria-hidden="true"></span> <?php echo time_ago(); ?></span>
    							 </div>
    						</div>
    
    					</div>
    				</div>
    				<?php }else{ ?>
    				<?php } ?>
    				<?php endwhile; ?>
    				<?php endif; ?>

    O que preciso é que esse post apareça somente na área de últimos posts e, quando já não é mais exibidas, ou seja, já atingiu um número x dentro da inicial, volte a aparecer na área destinado a categoria onde esse post foi publicado.

    Deste já agradeço.

Visualizando 2 respostas - 1 até 2 (de um total de 2)
Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • O tópico ‘Não repitir posts na loop WordPress’ está fechado para novas respostas.