Est-ce que ma boucle est mal faite – WordPress
La dernière fois que j’ai vérifié, je savais comment écrire une boucle pour afficher tous mes messages ….. Cependant, quand j’ai écrit ceci:
if (have_posts()){
while (have_posts()): the_post();
?>
<div clas="span6">
<h3><a href="<?php echo the_permalink(); ?>"><?php echo the_title(); ?></a></h3>
<p><?php echo the_excerpt(); ?></p>
</div>
<?php
endwhile;
}
J’ai rencontré un problème :
Si j’ai les messages suivants :
Message1, Message2, Message3
Les messages 1 à 2 apparaîtront dans une liste, ce n’est que jusqu’à ce que j’écrive un nouveau message (Post 4) et que je le publie que le message 3 apparaîtra dans cette liste.
Alors qu’est-ce qui ne va pas avec ma boucle?
jamais eu ce problème auparavant.
Remarque : WordPress 3.5 est utilisé.
J’ai vérifié WordPress Docs pour m’assurer que je fais les choses correctement et pour autant que je sache.
Solution n°1 trouvée
Je vois quelques choses qui pourraient être à l’origine de vos problèmes. Tout d’abord, vous avez un ensemble de { }
qui ne sont pas nécessaires. Votre ouverture à la boucle devrait être :
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
À la place de:
<?php if (have_posts()){ while (have_posts()): the_post(); ?>
Vous voyez les accolades dans votre boucle ?
Ensuite, comme l’a dit McNab, corrigez simplement votre classe div en ajoutant le « s » et supprimez les echo
extracteurs de contenu.
Vous devez également inclure un endif;
après votre endwhile;
.
Donc, votre boucle complète devrait boucler comme ceci :
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="span6">
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<p><?php the_excerpt(); ?></p>
</div>
<?php endwhile; endif; ?>
Je pense que cela devrait corriger ton problème.
Solution n°2 trouvée
Vous pouvez l’utiliser comme ci-dessous. Ceci est principalement utilisé dans wordpress.
if (have_posts()) : // your code if (have_posts()){
while (have_posts()): the_post();
?>
<div clas="span6">
<h3><a href="<?php echo the_permalink(); ?>"><?php echo the_title(); ?></a></h3>
<p><?php echo the_excerpt(); ?></p>
</div>
<?php
endwhile;
endif; //your code here }
J’espère que cela peut fonctionner.
0 commentaire