Hur man undviker duplicering av postvisning med flera slingor i WordPress

Hur man undviker duplicering av postvisning med flera slingor i WordPress

Nyligen stötte en av vÄra anvÀndare pÄ frÄgan om att ha dubbla inlÀgg medan de utvecklade ett anpassat tema. Vad han försökte göra var att visa det senaste inlÀgget pÄ hemsidan och sedan visa en lista med slumpmÀssiga inlÀgg i en separat slinga pÄ samma sida. FrÄgan var att det senaste inlÀgget nÄgon gÄng skulle dupliceras i slumpmÀssigt inlÀggsslinga. I den hÀr artikeln visar vi dig hur du undviker dubbla inlÀggsvisning nÀr du anvÀnder flera loopar i WordPress.

Tricket för att undvika dubbla inlÀggsvisning Àr att lagra post-ID frÄn den första slingan och sedan kontrollera mot den i den andra slingan. SÄ hÀr gör du det. Din första slingas kod mÄste se ut sÄ hÀr (se den magiska linjen):


<?php $my_query = new WP_Query('category_name=featured&posts_per_page=1');
  while ($my_query->have_posts()) : $my_query->the_post();

  $do_not_duplicate = $post->ID; //This is the magic line

?>
    <!-- Do stuff... -->
<?php endwhile; ?>

Nu nÀr vi har lagrat post-ID frÄn den första slingan under $ do_not_duplicate-variabeln, kan vi lÀgga till en check för det i vÄr andra slinga. Din andra slingkod ska se ut sÄ hÀr:


<?php if (have_posts()) : while (have_posts()) : the_post(); 

  if( $post->ID == $do_not_duplicate ) continue; //This is the Magic Line

 ?>
   <!-- Do stuff... -->
  <?php endwhile; endif; ?>

SÄ lÀnge du lÀgger till de tvÄ raderna dÀr replikeras INTE dina inlÀgg. För alla nya temadesigners hoppas vi att det hjÀlper.