Boucle WordPress : qu'est-ce que c'est et ce que vous devez savoir à ce sujet

Publié: 2023-10-25

Si vous êtes un développeur de thèmes WordPress, un programmeur ou simplement un passionné désireux d’apprendre ce qu’est une boucle WordPress, cet article est pour vous ! Sans plus tarder, commençons par les bases : Qu’est-ce qu’une boucle ?

La boucle WordPress est un code PHP qui affiche les publications WordPress ou tout simplement ; il est utilisé dans divers thèmes pour afficher des publications sur une page Web donnée. Non seulement il s'exécute sur la plupart des pages que vous voyez, mais il vous permet également de le modifier et de le personnaliser à votre guise.

Ces boucles de sites Web peuvent être utilisées pour répertorier les publications par nombre de commentaires, afficher les publications avec des images, etc.

Lorsque vous regardez la boucle, vous pouvez voir que certaines fonctions s'exécutent par défaut afin d'afficher les publications. Les développeurs de thèmes peuvent utiliser ces fonctions et balises de modèle pour personnaliser la façon dont chaque publication de la boucle est affichée.

Ces balises de modèle fonctionnent uniquement dans la boucle par défaut de WordPress et sont utilisées pour formater, organiser et publier des données de publication.

La boucle WordPress est sans aucun doute la partie la plus cruciale du code WordPress, et plongeons-nous en profondeur dans la boucle de votre site Web.

Boucle de page WordPress pour les débutants

Comme nous l'avons déjà mentionné, la boucle de publication est un code qui génère toutes les informations dont WordPress dispose sur une ou plusieurs publications. Il s'exécute en arrière-plan sur chaque publication et trouve la base de données une par une, ce qui lui permet de fournir des informations sur toutes les publications trouvées.

Voici un exemple du fonctionnement de WordPress en boucle dans les publications :

  1. tu démarres la boucle,
  2. agir avec chaque article ou page trouvé,
  3. fermer la boucle.

Ces trois étapes représentent la logique de base derrière la boucle. À partir de ce point, vous pouvez faire preuve de créativité et filtrer les publications que vous avez trouvées en utilisant la requête. La requête indique à la boucle ce que nous recherchons. Dans notre exemple, cela ressemblerait à ceci :

  1. définir ce que nous recherchons,
  2. démarrer la boucle,
  3. agir avec chaque publication ou page trouvée,
  4. fermer la boucle.

Si vous avez de l'expérience avec le code PHP, vous connaissez peut-être la fonction « while » utilisée dans les boucles pour exécuter la requête de base de données et afficher dynamiquement les informations sans avoir à saisir manuellement chaque ligne de la base de données.

La boucle while WordPress fonctionne de la même manière.

Exemple de boucle WordPress standard

Vous trouverez ci-dessous un exemple de boucle WordPress standard pouvant être utilisée sur n'importe quelle page.

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
// Post display here
<?php endwhile ?>
<?php else : ?>
// Content if there are no posts to show
<?php endif ?>

Jetez un œil aux fonctions have_posts() et the_post() . Le premier détermine s'il y a des publications à afficher, et le second configure les données et les pointes internes qui aident la fonction have_posts() .

S'il n'y a rien à afficher, alors la fonction doit afficher un message informant les utilisateurs.

S'il y a les posts que nous recherchons, alors la boucle les affichera un par un.

Ici, ayez un bloc de code qui affichera réellement les publications, c'est à nous !

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
<div <?php post_class() ?>>
<h2><a href='<?php the_permalink() ?>'><?php the_title() ?></a></h2>
<div class='post-excerpt'>
<?php the_excerpt() ?>
</div>
<div class='post-meta'>
<time><?php the_time( 'Ymd' ) ?></time>
<?php if ( has_category() ) : ?>
<span class='post-categories'><?php the_category( ', ' ) ?></span>
<?php endif ?>
</div>
</div>
<?php endwhile ?>
<?php else : ?>
<h2>There are no posts here</h2>
<p>Do you want to go back to the <a href='<?php echo site_url() ?>'>home page?
<?php endif ?>

Le contenu affiché ici est déterminé par la requête dont nous avons déjà parlé, et la façon dont ce contenu est affiché dépend de la boucle. Cette quantité de personnalisation est impressionnante et c’est ce qui distingue WordPress.

Bon travail! Vous savez maintenant ce qu’est une post-boucle !

Utiliser du code pour modifier la requête principale

Avant de commencer, nous devons vous avertir que modifier la requête principale peut avoir des conséquences inattendues si vous ne savez pas ce que vous faites. Soyez prudent lorsque vous expérimentez !

Nous devons examiner les hooks si nous voulons modifier les fonctionnalités de base. Les hooks nous permettent de modifier la longueur du texte, de modifier l'écran de connexion, de reformuler les messages d'erreur, de modifier les types de publication personnalisés et bien plus encore.

add_action( 'pre_get_posts', 'my_exclude_category' );
function my_exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-92' );
}
}

Notez que nous utilisons le hook pre_get_post pour modifier le paramètre de la requête principale avant son exécution. Le code ci-dessus fait la même chose que le précédent, mais cette fois il exclut la catégorie 92 de notre page d'accueil. La requête principale est donc modifiée

Jetez un œil aux fonctions is_home() et is_main_query() . Ils sont là pour s'assurer que la requête est modifiée uniquement sur la page d'accueil et s'il s'agit de la requête principale.

Voici un autre code qui peut être utile dans une boucle de blog WordPress.

Supposons qu'un auteur de votre site Web ait plagié une partie (ou la totalité) de son contenu et que vous souhaitiez supprimer tous ses messages de manière permanente ou jusqu'à ce que le problème soit résolu.

Cela peut être fait en ajoutant un code comme celui-ci :

add_action( 'pre_get_posts', 'my_exclude_author' );
function my_exclude_author( $query ) {
$query->set( 'author', '-23' );
}

Avec cette fonction conditionnelle, vous supprimez la publication de l'auteur à la fois de votre site Web et de votre backend. Vous pouvez trouver toutes les balises conditionnelles dans le Codex WordPress. Voici à quoi devrait ressembler le dernier code au final :

add_action( 'pre_get_posts', 'my_exclude_author' );
function my_exclude_author( $query ) {
if( !is_admin() ) {
$query->set( 'author', '-23' );
}
}

FAQ sur la boucle WordPress

De toute façon, c'est quoi la boucle WordPress ?

Oh mec, ça me ramène ! Ainsi, à la base, la boucle WordPress est le moteur de WP qui affiche le contenu de la base de données sur votre site.

C'est le cœur de nombreux modèles WP et indique au système quelles publications ou pages afficher et dans quel ordre. Considérez-le comme le DJ de votre soirée WordPress, choisissant les bons morceaux (ou messages) pour vos invités.

Pourquoi la boucle est-elle si essentielle dans le développement de thèmes ?

Ah, le développement du thème , un puzzle amusant à chaque fois ! La boucle est comme l’épine dorsale d’un thème WordPress. Sans cela, votre thème serait un film muet sans intrigue.

Il récupère le contenu en fonction des paramètres WP_Query et, grâce aux balises de modèle , vous pouvez personnaliser quoi et comment le contenu est affiché. Avez-vous déjà entendu parler de thèmes avec des styles spéciaux pour certains articles ? Ouais, c'est la magie de la boucle à l'œuvre.

Quel est le rapport entre WP_Query et la boucle ?

Très bien, plongez avec moi ici. WP_Query est la classe qui définit et récupère le contenu. La boucle parcourt ensuite les résultats renvoyés par WP_Query.

Considérez WP_Query comme le chef qui prépare les plats, pendant que la boucle les sert à vos invités. Et avec des types de publication et des taxonomies personnalisés , ce chef peut concocter une gamme impressionnante de plats !

Quelle est la différence entre have_posts() et the_post() ?

Question classique ! have_posts() vérifie s'il reste des publications dans la requête à parcourir. C'est comme demander : Hé, y a-t-il d'autres chansons sur cette playlist ? »

Pendant ce temps, the_post() configure la publication actuelle, vous êtes donc prêt à afficher ses détails. Cela revient à lancer la lecture sur la piste suivante. Les deux sont super cruciaux dans la danse de la boucle.

Comment puis-je personnaliser les publications qui s'affichent dans la boucle ?

Ah, le pouvoir de la personnalisation ! Pour modifier les publications qui apparaissent, vous modifiez les paramètres WP_Query ou utilisez le filtre pre_get_posts .

Qu'il s'agisse d'une boucle de catégorie , d'une boucle de balise ou de toute autre requête personnalisée , vous pouvez faire tellement de choses. Vous souhaitez afficher les publications d’une certaine catégorie ? Ou peut-être les trier selon un champ personnalisé ? Le monde vous appartient !

Puis-je avoir plusieurs boucles sur une seule page ?

Vous pariez! Plusieurs boucles sont une chose, surtout lorsque vous souhaitez différentes sections, comme une liste d'articles principale suivie d'une barre latérale avec les publications récentes.

Il vous suffit de réinitialiser la boucle avec wp_reset_postdata() après chaque WP_Query personnalisé. Et avec les pièces de modèle , c'est encore plus organisé. N’oubliez pas de ne pas en faire trop : personne n’aime les fêtes encombrées !

Que sont les balises conditionnelles dans le contexte de la boucle ?

Ainsi, les balises conditionnelles sont les gardiens de la boucle. Ils vous permettent de contrôler où et quand certains contenus s'affichent.

Vous pouvez les utiliser pour afficher un élément de contenu uniquement sur des publications uniques, ou peut-être uniquement dans une certaine taxonomie . Ils sont comme les videurs de votre club WP, décidant qui entre en fonction de la liste des invités.

Comment ajouter une pagination à la boucle ?

Ah la pagination, l'art de ne pas submerger vos visiteurs ! En utilisant les fonctions de pagination , vous pouvez diviser vos publications en plusieurs pages.

Au lieu d’afficher une liste interminable de publications, donnez une pause à vos utilisateurs. Des fonctions comme paginate_links() ou les liens classiques « suivant et précédent » sont utiles ici. Parce que, soyons réalistes, personne ne veut faire défiler indéfiniment.

Pourquoi aurais-je besoin de modifier la requête principale ?

Bon ! Parfois, les paramètres par défaut ne suffisent pas. Peut-être souhaitez-vous que votre page d'accueil affiche uniquement un type de publication personnalisé spécifique ou exclue certaines catégories.

En utilisant l'action pre_get_posts , vous pouvez modifier la requête principale sans en écrire une nouvelle. C'est comme ajuster les paramètres principaux de votre chaîne stéréo pour obtenir un son parfait.

Que se passe-t-il s'il y a un problème avec ma boucle ?

Ouf, j'y suis allé ! S'il y a un problème avec la boucle, votre site peut ne pas afficher de contenu, ou pire encore, générer des erreurs. Sauvegardez toujours avant de bricoler. Vérifiez vos paramètres WP_Query et la hiérarchie des modèles .

Et si tout le reste échoue, le Codex WordPress et les forums communautaires sont des mines d’or pour le dépannage. N'oubliez pas que chaque développeur est confronté à une boucle problématique au moins une fois. Tu as ça!

Fin des réflexions sur la boucle WordPress

Utiliser la boucle WordPress est un excellent moyen de personnaliser vos articles, vos pages ou simplement votre site Web. La boucle nécessite que vous ayez une compréhension de base du fonctionnement de WordPress et de la logique du code.

Sauf si vous souhaitez faire un test rapide, nous ne vous recommandons pas d'utiliser la fonction query_posts(). Vous pouvez utiliser différents hooks au cas où vous auriez besoin de modifier la requête d'origine. Soyez toujours prudent lorsque vous modifiez le code de la boucle WordPress.

Nous espérons que cet article a été un bon premier pas vers votre maîtrise des boucles WordPress !

Si vous avez apprécié cet article sur la boucle WordPress, vous devriez également lire ceux-ci :

  • Erreur 504 dans WordPress : comment y remédier
  • 12 conseils pour créer un plugin ou un thème WordPress Premium réussi
  • Comment tirer parti de la mise en cache du navigateur dans WordPress ? Étapes à suivre