récupérer un message wordpress avec une boucle
Je dois implémenter un curseur qui affichera 4 vignettes de publication d’une catégorie particulière dans chaque diapositive. Pour cela j’ai écrit ceci :
<ul class= "videoSlider">
                            <?php
                            $pStart = 0;
                            $flag = true;
                            while ($flag) {
                                query_posts('cat=14&posts_per_page=4&offset='.$pStart);
                                $pStart = + 4;
                            ?>
                                <li>
                                <?php
                                if (have_posts ()) {
                                    while (have_posts ()) {
                                        the_post();
                                ?>
                                        <div onclick="something()">
                                    <?php echo the_post_thumbnail(array(215, 190)); ?>
                                         </div>
                                <?php
                                    }
                                } else {
                                    $flag = false;
                                }
                                ?>
                            </li>
                            <?php
                            wp_reset_query();
                            } ?>
La structure dont j’ai besoin pour le curseur jquery ressemble à ceci :
                <ui>
                      <li>
                        <div>
                            thumb 1
                        </div>
                        <div>
                           thumb 2
                        </div>
                        <div>
                            thumb 3
                        </div>
                        <div>
                            thumb 4
                        </div>
                    </li>
                    <li>
                        <div>
                            thumb 5
                        </div>
                        <div>
                           thumb 6
                        </div>
                        <div>
                            thumb 7
                        </div>
                        <div>
                            thumb 8
                        </div>
                    </li>
                </ul>
Mais le code ne fonctionne pas pour une raison quelconque ! On dirait qu’après avoir généré quelques listes, l’exécution du code ne s’arrête pas et le navigateur se bloque. Ai-je mal utilisé la fonction : ‘ query_posts('cat=14&posts_per_page=4&offset='.$pStart)‘ ? Comment dois-je réellement l’implémenter ?
Solution n°1 trouvée
Si vous avez beaucoup de publications, cette whileboucle externe continuera jusqu’à ce qu’elle soit interrogée sur chaque publication, 2 à la fois !
Il me semble que vous vous compliquez les choses, alors voici ce que je ferais à la place ;
global $wp_query;
query_posts('cat=14');
if ( have_posts() ):
    $last_post = $wp_query->post_count - 1; // index for the last post
    $counter = 0;
    echo '<ul class= "videoSlider">';
        while ( have_posts() ):
            the_post();
            if ($counter === 0)
                echo '<li>';
            echo '<div onclick="something()">';
            the_post_thumbnail(array(215, 190));
            echo '</div>';
            if ($counter === 3 || $last_post == $wp_query->current_post) {
                $counter = 0;
                echo '</li>'; // close the tag every 4th item, or if we're at the end of the loop
            } else {
                $counter++;
            }
        endwhile;
    echo '</ul>';
endif;
0 commentaire