Formation « Développer un thème WordPress sur-mesure (Classique) »

Les commentaires

Lecture : 5 minutes • 20

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.

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 :

Les commentaires dans WordPress
A gauche, la liste des commentaires, à droite le formulaire d’ajout de commentaires

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é :

Les commentaires WordPress à nouveau, mais cette fois-ci en étant connecté
L’interface des commentaires avec le formulaire 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.

L'interface de configuration des commentaires de WordPress
C’est ici que vous pourrez définir les règles de commentaires

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 :

L'interface de gestion des commentaires dans WordPress, où on  peut les approuver et les modifier
C’est ici que vous pouvez valider, modifier ou supprimer les commentaires du site

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 :

PHP
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 :

Affiche des commentaires dans le thème
Ce n’est pas très sexy, mais ça fonctionne ! Un peu de CSS pourra améliorer cela

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 :

PHP
archive.php

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.

Conseil

Vous pouvez également vous baser sur le template des thèmes fournis par défaut avec WordPress histoire de vous en inspirer.

Et comme toujours, aidez-vous de la documentation afin de connaitre tous les paramètres et fonctions qui pourraient s’avérer utiles :

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

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.

Par Automattic – Anti-spam Team

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 :

Obtenir une clé d’API Akismet

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 :

Antispam Bee

Antispam Bee

Sophisticated antispam plugin for effective daily comment and trackback spam-fighting. Built with data protection and privacy in mind.

Par pluginkollektiv


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.

20

Questions, réponses et commentaires

  1. Judy

    Le 18 février 2019

    Merci!

  2. Rajo Diane

    Le 2 décembre 2019

    Merci !
    c’est vraiment très pratique

  3. 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 ?

    1. 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.

  4. 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.

    1. 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 ?

      1. 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.

        1. Maxime BJ

          Le 30 mai 2021

          Merci beaucoup, je corrige ça tout de suite !

  5. 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 ?

    1. Maxime BJ

      Le 8 septembre 2020

      Bonne question ! Pas avant 2021 je pense 😉

  6. 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

    1. 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…)

  7. 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?

    1. 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/.

  8. Mary

    Le 21 décembre 2021

    Pratique , simple et rapide explication avec les images pour le réglage des commentaires sur wordpress.

  9. pierr

    Le 17 octobre 2022

    bonjour, comment faire pour que les users puissent supprimer eux même leur commentaires

    1. 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.

  10. Franck

    Le 30 décembre 2022

    Merci !

  11. hayet

    Le 24 novembre 2024

    merci beaucoup pour ces explications ;j’adore ce site .je vous souhaite une bonne continuation.

  12. hayet

    Le 24 novembre 2024

    merci pour ces informations .merci .

Laisser un commentaire