vendredi 25 septembre 2026

À propos

Contact

Lexique · Cœur de WordPress

Boucle

En anglais : « The Loop »

La Boucle est le mécanisme PHP qui parcourt les articles renvoyés par une requête WordPress pour afficher chacun d'eux via des fonctions de gabarit.

Quand un thème doit afficher une liste d’articles, il ne les récupère pas un par un manuellement : il délègue ce travail à une structure répétitive standardisée, présente dans presque tous les gabarits WordPress depuis ses débuts.

Fonctionnement

La Boucle s’appuie sur deux fonctions : have_posts(), qui vérifie s’il reste des articles à traiter dans la requête courante, et the_post(), qui avance le pointeur interne et configure les données globales ($post) pour l’article suivant. À l’intérieur, des fonctions de gabarit comme the_title() ou the_content() affichent les données de l’article en cours.

Exemple

if ( have_posts() ) {
    while ( have_posts() ) {
        the_post();
        the_title( '<h2>', '</h2>' );
        the_excerpt();
    }
}

À ne pas confondre avec

  • La requête principale, qui détermine quels articles seront parcourus ; la Boucle ne fait que les afficher.
  • Une requête personnalisée avec un second WP_Query, qui exige d’utiliser ses propres méthodes ($ma_requete->have_posts()) et un wp_reset_postdata() final pour ne pas perturber la boucle principale.

Bon à savoir

Imbriquer deux boucles principales sans réinitialiser les données globales est une source classique de bugs d’affichage, notamment quand un widget ou un shortcode lance sa propre requête au milieu d’un gabarit.

Certains thèmes proposent une variante avec foreach directement sur la propriété posts de l’objet requête, mais cette approche ne met pas à jour les données globales de l’article courant : les fonctions de gabarit qui dépendent de $post, comme the_title(), cesseraient alors de fonctionner correctement sans un appel manuel supplémentaire à setup_postdata().