Theme WordPress : The Loop

Par 4h18

the_loop est la fonction que vous allez devoir apprendre à connaitre pour travailler avec WordPress. Cette boucle permet, entre autres, d’afficher l’article demandé par vos visiteurs.

De prime abord, la chose n’est pas forcément évidente à appréhender. Pourtant, une fois le nez dedans, vous verrez rapidement comment en faire usage, et vous découvrirez que ce n’est pas si sorcier que cela.

Vive les marqueurs !

Pour simplifier la création de thèmes, les développeurs WordPress ont eu la bonne idée de nous fournir des marqueurs qui affiche directement le contenu souhaité sans que nous devions nous même passer par l’interrogation de la base de données. Un marqueur est en fait un fonction php qui se charge d’exécuter un code précis.

Le contenu d’un article est donc subdivisé en plusieurs marqueurs. Ces derniers ne fonctionnent que dans la boucle. Vous pourrez, plus tard récupérer le contenu de vos articles en dehors de la boucle, ceci fera l’objet d’un prochain article.

Revenons-en à notre boucle et à nos marqueurs. La boucle, invariablement commence toujours comme suit :

<?php if ( have_posts() ) : the_post(); ?>

Si l’on traduit cela en langage humain, cela donnerait quelque chose comme : » Si tu as des articles, alors, montre les moi ».

A partir de cet instant, si la boucle a des articles à nous montrer, on attaque le code HTML.

Note sur le code HTML dans WordPress

<div id=post-<?php the_ID();?>">;

Le code html et les noms des balises CSS employées sont laissées à la discrétion du graphiste. C’est sans doute aussi l’une des forces de WordPress qui permet la création de Thème sophistiqués sans être obligé de passer par un moteur de template comme Smarty.Vous avez donc tout le loisir de structurer votre page comme bon vous semble.

Détails des Marqueurs

Une fois notre boucle ouverte, nous allons utiliser les marqueurs de WordPress pour afficher notre contenu.

Le titre de l’article

Pour afficher le titre de notre article, nous utilisons le marqueur the_title

<h1><?php the_title(); ?></h1>;

Le titre est généralement placé entre les balises de type <hn>. Ces balises vont de 1 à 6. Le 1 pour les titres importants, le 6 pour les titres de moindre importance.

Date et commentaire

La date et les commentaires se gèrent comme suit :

<p>
Ecrit le <?php echo get_the_date(); ?><br>
<?php comments_popup_link('Pas de commentaire', '1 commentaire', '% commentaires'); ?>
</p>

Le marqueur the_date possède plusieurs options que je vous invite à découvrir sur le codex, tout comme comments_pop_link (qui affiche le nombre de commentaire lié à l’article.

L’article

L’affichage de l’article se fait en utilisant le marqueur the_content

<?php the_content(); ?>

Ne placez pas le contenu de votre article dans des  balises html ! Votre article contient déjà des balises pour être mis en forme, vous risqueriez d’avoir des soucis d’affichage.

Fermer la boucle

Dès lors que le contenu est affiché, le travail de la boucle est quasiment terminé. Il nous reste donc à « fermer » la boucle pour éviter d’avoir une belle page blanche ou un beau message d’erreur de PHP (en fonction de la configuration de votre serveur).

<pre><?php endwhile; else: ?>
<p><?php _e('Aucun article ne correspond &agrave; votre demande.'); ?></p>
<?php endif; ?></pre>

La ligne endwhile indique à PHP de fermer la boucle. Pour autant, le boulot n’est pas finis. Souvenez vous, nous avons commencer notre boucle avec la question « Si tu as des articles à me montrer », donc, il faut également dire à la boucle quoi faire si il n’y a pas d’articles à montrer.

C’est que fait la commande « else : » En langage humain, else : se traduit par quelques chose comme « Alors fait cela ». Dans le cas présent, nous demandons à notre code de nous afficher une ligne de texte indiquant qu’il n’y a pas d’article à afficher.

Enfin, nous fermons définitivement notre boucle avec la ligne endif;

Je vous recommande vivement la lecture de la documentation officielle sur le codex WordPress.

Articles en rapport

  • Modifier ou créer son thème WordPress
  • Theme WordPress, le fichier index.php

A propos de cette publication

Dossier WordPress : Utilisation avancée de wordpress

Theme WordPress : The Loop est un article de 4h18.com