Introduction
Les bases
Les plugins incontournables
Travaux pratiques
Installation et configuration du projetRéservé aux membres premiums
16 min
En tête et pied de pageRéservé aux membres premiums
42 min
La page actualitésRéservé aux membres premiums
36 min
La single actualitéRéservé aux membres premiums
56 min
Gestion des biensRéservé aux membres premiums
25 min
Single d'un bienRéservé aux membres premiums
26 min
Listing des biensRéservé aux membres premiums
26 min
Correction du menuRéservé aux membres premiums
10 min
Recherche des biensRéservé aux membres premiums
24 min
Page d'accueilRéservé aux membres premiums
55 min
Formulaire de contactRéservé aux membres premiums
19 min

Dans ce chapitre nous allons voir comment gérer l'affichage des commentaires. Comme pour le menu, WordPress a une opinion très forte sur la structure HTML et il sera préférable de coller à cette structure pour éviter un maximum de travail. Il est cependant possible de personnaliser les choses en profondeur à l'aide de hook et de Walker.

Afficher les commentaires

Pour afficher les commentaires il vous suffit d'utiliser la fonction comments_template().

<?php
if (comments_open() || get_comments_number()) {
    comments_template();
}
?>

Cette fonction va rechercher un fichier comments.php et l'utiliser pour gérer l'affichage. Si vous n'avez ce fichier dans votre thème, un template par défaut sera utilisé.

Pour ce fichier vous pouvez vous inspirer du code des thèmes proposés par défaut (twentytwenty par exemple) mais on retiendra 3 fonctions :

  • comment_form(), permet d'afficher le formulaire. Il est possible de personnaliser l'apparence des champs en se branchant sur des filtres comme comment_form_default_fields.
  • wp_list_comments(), permet d'afficher la liste des commentaire. La personnalisation se fera au travers d'un Walker personnalisé qu'il sera possible de passer en paramètre dans les arguments de la fonction.
  • paginate_comments_links(), gère la pagination des commentaires si le nombre de commnentaire dépasse la limite fixée dans le backoffice.