web-dev-qa-db-fra.com

Comment créer une boucle pour créer des diapositives basées sur plusieurs catégories à l'aide de Coda Slider

J'utilise une boucle pour générer les diapositives dont j'ai besoin pour un diaporama Coda Slider. Les diapositives devraient extraire le message le plus récent de 5 catégories différentes. Le problème que j'ai, c'est qu'il tire les 5 articles les plus récents des 5 catégories collectivement et non individuellement. Donc, il tire 2 messages de la 1ère catégorie, puis 1 de chacun des autres.

Un moyen d'obtenir que cela fonctionne correctement?

C'est le code que j'utilise:

<?php 
$cat_post_query = new WP_Query($query_string . 'cat=7,8,10,9,11');
while ($cat_post_query->have_posts()) : $cat_post_query->the_post();
$do_not_duplicate = $post->ID;?>

<div>
* slide content *
</div>

<?php endwhile;  ?>
3
Jen

Pour ceux qui étaient intéressés par une réponse à cette question, j'ai trouvé la réponse moi-même.

<div class="coda-slider"  id="slideshow">    

<?php
// array of category IDs
$categories =  array(1,2,3,4,5);

foreach ($categories as $cat) :
  $post = false;
  $post = get_posts('cat='.$cat.'&posts_per_page=1');
  if($post) :
    $post = $post[0];
    setup_postdata($post); ?>

    <!-- rest of normal loop -->

    <div <?php post_class(); ?>>
      <h2 class="title">title used to dynamically generate thumbs in codaslider</h2>
      <h3><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
      <?php the_content(); ?>
    </div>

  <?php endif; ?>
<?php endforeach; ?>  

</div>

Le code de la boucle foreach originale provient de ce post:

http://wordpress.org/support/topic/display-most-recent-post-from-each-of-several-categories-on-home-page

1
Jen