Les commentaires sont un bon moyen de créer de l’interaction avec vos lecteurs. De plus, ça permet de créer du contenu supplémentaire qui pourrait bien s’avérer pertinent pour les moteurs de recherche. Dans ce cours nous allons voir comment les mettre en place, et comment les modérer, et bien sûr comment éviter le Spam.
Sommaire du cours
A quoi bon faire un blog si vos internautes ne peuvent pas poser leurs questions et donner leur avis ? On va justement voir dans ce cours comment mettre en place le système de commentaires de WordPress, et comment les administrer.
Typologie des commentaires dans WordPress
On va d’abord regarder en détails tous les composants de commentaires fournis par WordPress :
La liste des commentaires est hiérarchique : ils sont listés les uns après les autres mais lorsqu’une personne répond à un commentaire précédent, un sous-niveau est créé afin de faciliter la lecture (représenté par un décalage à droite) .
Chaque commentaire contient : l’avatar, le nom de la personne qui a commenté, la date de publication, le message, et un bouton répondre.
Le formulaire pour laisser un commentaire demande : le message à laisser, le nom, l’e-mail et éventuellement le site web de la personne. L’avatar est automatiquement récupéré grâce à l’adresse e-mail si la personne a un compte Gravatar.
Voyons maintenant à nouveau cette interface une fois connecté :
Cette fois, on remarque que le formulaire pour laisser un commentaire ne propose plus qu’un champ. Comme les informations sont déjà connues (nom, e-mail), WordPress ne les redemande pas.
On voit aussi l’apparition d’un bouton modifier sous chaque commentaire : en tant qu’administrateur, c’est un lien utile pour aller rapidement gérer mes commentaires.
Réglages des commentaires et de modération
WordPress propose plusieurs façons de gérer les commentaires grâce à différents réglages qui auront des impacts différents sur votre site.
On va aller voir dans notre interface d’administration de WordPress, dans Réglages > Discussion afin de voir ce qu’il est possible de faire.
Vous pouvez :
- Limiter les commentaires aux utilisateurs connectés au site ;
- Fermer les commentaires d’un article après une certaine période ;
- Limiter l’imbrication des commentaires et réponses (je conseille de ne mettre que 2 niveaux) ;
- Recevoir un e-mail lorsqu’un commentaire est publié (je conseille de laisser activé) ;
- Diviser les commentaires en pages (je déconseille) ;
- Ne pas publier les commentaires tant que l’administrateur n’a pas validé (c’est ce que je fais sur ce site, mais sur d’autres je laisse ouvert) ;
Les réglages que vous choisirez vont dépendre des sites. Sur CapitaineWP et WPChef on active la modération : on valide manuellement chaque commentaire. Cela demande un peu plus de travail.
Si vous autorisez automatiquement la publication d’un commentaire, vous vous retrouverez peut-être avec des commentaires « impolis » qu’il faudra filtrer.
Sur WPChef seuls les étudiants connectés peuvent publier un commentaire. Sur CapitaineWP, comme certains cours sont gratuits, j’ai autorisé la publication de commentaires par tous !
Pour modérer vos commentaires, vous irez ensuite dans le menu Commentaires :
Ajouter les commentaires dans votre site WordPress
Bien, maintenant que l’on a configuré nos commentaires, il faut les afficher dans notre template ! Il y a plusieurs façons de faire : la version simple, et la version plus compliquée, mais qui apporte plus de contrôle.
L’approche simple
Commençons avec la version simple. Ajoutez tout simplement cette fonction après votre contenu dans la boucle WordPress de single.php :
Cette ligne suffit à aller chercher le template de commentaires par défaut qui affiche d’abord la liste des commentaires publiés, puis ensuite le formulaire de saisie d’un nouveau commentaire. Voici le rendu , sans CSS :
L’approche sur mesure
La technique précédente suffira amplement dans 9 cas sur 10. Mais si vous souhaitez aller un peu plus loin, alors vous allez pouvoir créer votre propre template de commentaires !
Pour cela vous devez créer un fichier comments.php à la racine de votre thème. Dès que WordPress le détecte, il utilisera ce fichier au lieu du template par défaut.
Voici ce que l’on doit y mettre :
Tout d’abord, le Template tag get_comments_number()
permet de récupérer le nombre de commentaires publiés. On peut d’ailleurs l’utiliser en dehors de comments.php, au début de l’article par exemple ou même dans archive.php.
Ensuite, la fonction wp_list_comments()
permet de lister les commentaires publiés.
S’il n’y en a pas, on peut afficher un message à la place et on vérifie ça grâce aux fonctions comments_open()
: les commentaires sont-ils ouverts ? et get_comments_number()
: que s’il renvoie 0, ce sera considéré comme false
par PHP.
Enfin, la fonction comment_form()
permet d’afficher le formulaire de saisie d’un commentaire.
Et comme toujours, aidez-vous de la documentation afin de connaitre tous les paramètres et fonctions qui pourraient s’avérer utiles :
Comments Template | Codex WordPress
Comments allow your website’s visitors to have a discussion with you and each other.
Combattre le Spam dans les commentaires
Le premier Spam sera un grand événement dans la vie de votre site. D’un côté, c’est le début de la gloire, puisque vous gagnez en visibilité sur le web. D’un autre, il va falloir commencer à se défendre contre cela. Heureusement, Automattic (rappel : la maison mère de WordPress.com) a une extension pour ça :
Akismet Anti-spam: Spam Protection
La meilleure protection anti-spam pour bloquer les indésirables des commentaires et des formulaires de contact. La solution anti-spam la plus fiable pour WordPress et WooCommerce.
Et ça tombe bien car il est installé par défaut dans WordPress. Son rôle est de filtrer automatiquement les commentaires Spam afin de vous éviter cette tâche fastidieuse.
Mais pour cela, vous aurez besoin d’une clé d’API pour l’activer. Pour un petit site, vous pouvez l’obtenir gratuitement :
Si vous avez déjà un compte wordpress.com, vous pourrez l’utiliser pour vous connecter.
Enfin, allez dans Réglages > Akismet Anti-Spam et indiquez votre clé. Votre site devrait normalement être protégé contre la vermine du web !
Si vous préférez une alternative, il existe également l’excellent Antispam Bee :
Votre site gère maintenant les commentaires et permet à vos internautes d’interagir avec vous, et de lancer des discussions ! Ce chapitre est maintenant terminé. Dans la suite du cours on va aborder un concept super important : les types de publication personnalisés.
Judy
Le 18 février 2019
Merci!
Rajo Diane
Le 2 décembre 2019
Merci !
c’est vraiment très pratique
Gérard
Le 25 avril 2020
Sur mon site, on peut poster des commentaires sans s’inscrire, mais les champs Nom et Email (ainsi que Site Web) n’apparaissent pas. Comment les faire réapparaître quand on est pas inscrit sur mon site ?
Maxime BJ
Le 25 avril 2020
Est-ce que tu testes bien en navigation privée ? Comme tu es un utilisateur enregistré, il est normal de ne pas les voir, d’où l’importance de tester sur une session non connectée.
Loïc Antoniak
Le 6 août 2020
Je viens de tester de mettre le fichier comments.php à la racine de mon thème, cependant rien ne s’affiche sur mon site.
Il ne doit pas prendre en compte ce fichier. J’ai pourtant copier/coller le code.
Doit-on laisser dans single.php ?
Quand je le laisse, le site me propose la version standard, quand je le retire, il n’y a plus rien.
Je ne comprends pas trop.
Maxime BJ
Le 23 mars 2021
J’ai peut-être fait une erreur dans mon code. As-tu pu regarder la documentation officielle voir si elle donnait un autre son de cloche ?
Specter
Le 30 mai 2021
Bonjour, merci pour cette formation, peut-être qu’il y a une erreur, en fait il y a une derrière fermerture de « if » dans comments.php que je ne comprend pas.
Maxime BJ
Le 30 mai 2021
Merci beaucoup, je corrige ça tout de suite !
Gérard MENTOR
Le 8 septembre 2020
Par curiosité, j’ai chercher à voir les cours à venir et j’ai découvert un nouveau mot : approndissement. 😉
Bon, je me moque un peu, mais je dois reconnaître que ce cours est extraordinairement utile pour un débutant dans la « thémisation » WordPress.
Un très grand merci !
Mais maintenant, je suis un peu frustré par l’absence des cours à venir, dont l’ « approndissement ». Des dates sont prévues ?
Maxime BJ
Le 8 septembre 2020
Bonne question ! Pas avant 2021 je pense 😉
guy59600
Le 22 mars 2021
pourquoi les personnes qui veulent commenter son obligées d’avoir un compte wordpress ou alors de passer par twitter facebook et non pas directement avec l’URL de leurs blogs
cordialement
Maxime BJ
Le 23 mars 2021
Ce n’est pas le cas. Du moins, pas sur mon site ! Cela va dépendre de la solution utilisée par les sites (certains comme moi gardent le système par défaut, d’autres utilisent Disqus…)
Aboubacar
Le 11 octobre 2021
Excusez moi
Est-ce possible de lister les commentaires sur une autre page autre que la page ou se trouve le zone de commentaire?
Maxime BJ
Le 11 octobre 2021
Oui tu peux pour cela utiliser la WP_Comment_Query : https://developer.wordpress.org/reference/classes/wp_comment_query/.
Mary
Le 21 décembre 2021
Pratique , simple et rapide explication avec les images pour le réglage des commentaires sur wordpress.
pierr
Le 17 octobre 2022
bonjour, comment faire pour que les users puissent supprimer eux même leur commentaires
Maxime BJ
Le 18 octobre 2022
C’est une bonne question. Ce n’est pas possible pour les utilisateurs non connectés, mais je ne suis même pas certain que ça le soit pour ceux qui sont connectés (et qui ont un compte sur le site). Il y a cependant des extensions qui permettent de gérer ça. J’ai pu utiliser wpDiscuz notamment qui le permettait. Tu pourrais le faire par du code, mais ce serait un peu long à gérer.
Franck
Le 30 décembre 2022
Merci !
hayet
Le 24 novembre 2024
merci beaucoup pour ces explications ;j’adore ce site .je vous souhaite une bonne continuation.
hayet
Le 24 novembre 2024
merci pour ces informations .merci .