5) La boucle wordpress

C’est la principale boucle du site wordpress. Soit elle reçoit un argument (dans l’url) et elle y répond, soit elle ne reçoit aucun argument et elle donne les derniers posts.

Précédent | 5/20 | Suivant

On l’appelle boucle car elle va répéter ce qui se trouve à l’intérieur d’elle (entre la ligne while et celle du endwhile), autant de fois qu’il y a des posts correspondant à la requête, rendant disponible l’information de celui-ci.

Une page "for beginner" et en anglais bien utile ici.

Voici une boucle complète, à placer dans le fichier index.php :

<div id="corps">
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<div class="post_content">
<?php the_content(); ?>
</div>
</div>
<?php endwhile; ?>
<!-- lien vers page precedente et suivante -->
<div class="navigation">
<?php posts_nav_link(' - ','page suivante','page pr&eacute;c&eacute;dente'); ?>
</div>

<?php endif; ?>
</div>

Il s’agit de code php, chaque fois enserré dans un balisage <?php qui se termine par ?>, et qui signale "ici c’est du code php" et "ici il s’arrête, on continue en html. Il ne faut donc pas insérer du simple html directement à l’intérieur de ce balisage.

La première ligne contrôle la demande : si on a demandé la page 3 (page=3) et qu’elle n’existe pas, la boucle ne tournera pas, et le php entre les deux lignes ne sera pas pris en compte.

Si il y a réponse à la demande, la boucle commence. De manière invisible, le contenu des posts sera rendu disponible à chaque tour.

Infos supplémentaires dans le post

Cette ligne peut être placée sous le post ou sous le titre.

<p class="postmetadata">
   <?php the_time('j F Y') ?> par <?php the_author() ?> |
   Cat&eacute;gorie: <?php the_category(', ') ?> |
   <?php comments_popup_link('Pas de commentaires', '1 Commentaire', '% Commentaires'); ?> <?php edit_post_link('Editer', ' | ', ''); ?>
</p>