De façon temporaire ou définitive, il existe de nombreuses raisons de vouloir fermer les commentaires sur l’ensemble d’un site WordPress.
Ce tutoriel vous apprendra comment les désactiver pour un ou plusieurs types de contenu et ce, sans recours à un plugin.
Dans un mu-plugins ou le fichier functions.php de votre thème, collez les lignes suivantes :
A la ligne 5, spécifiez le type de contenu pour lequel vous souhaitez désactiver les commentaires : post
pour les articles, page
pour les pages classiques ou un custom post type.
Sauvegardez le tout puis vérifiez que les commentaires sont désormais clos.
Si vous préférez les désactiver sur l’ensemble de votre site, alors supprimez la ligne avec la condition signalée par le if
.
mercie pour votre aide javais le meme probleme avec les commentaire
Bonjour,
j’ai pu désactiver les commentaires globalement en utilisant le plugin “disable comments de wordpress”
https://wordpress.org/plugins/disable-comments/
j’éspere que ça aide.
Mon erreur : Je mettais le bout de code dans le fichier functions.php ce qui faisait planter le site avec le message d’erreur cité plus haut.
En fait il fallais le mettre dans le fichier functions.wp-scripts.php !!! et tout fonctionne niquel
C’était assez bizarre que ça ne fonctionne pas car ce n’était pas la première fois que je venais sur votre site piquer ce bout de code qui avait toujours bien fonctionné… Visiblement avant il n’y avait qu’un seul fichier functions.php mais ce n’est plus le cas aujourd’hui…
En réalité, cela dépend directement de vote thème. Sinon, vous pouvez créer un mu-plugin.
bonjour
j’ai une erreur qui me dit “Fatal error: Call to undefined function add_filter() in …/wp-includes/functions.php on line 27
la ligne 27 étant “add_filter(‘comments_open’, ‘wpc_comments_closed’, 10, 2);”
avez-vous une idée ?
merci d’avance
La fonction wpc_comments_closed est absente visiblement. Avez-vous copié l’intégralité du code ? Merci d’utiliser un service comme pastebin pour partager votre code.
Hello !
J’ ai copié ces lignes dans le fichier, mais j’ai eu un message d’erreur.
Je les ai donc enlevées mais toujours un message d’erreur… Je n’arrive plus à accéder à l’interface de mon wordpress !
Voici la petite phrase bien sympathique :
Fatal error: Cannot redeclare url_is_accessable_via_ssl() (previously declared in /home/fleurdefp/www/wp-includes/functions.php:3013) in /home/fleurdefp/www/wp-includes/deprecated.php on line 3493
Que dois-je faire ?
Merci (:
Il doit manquer une accolade ou une virgule quelque part. L’erreur n’a rien à voir avec le tutoriel. Avez-vous modifié correctement le fichier avec un éditeur de code via un client FTP ?
Génial, merci pour ce code ! Pour moi ça désactive les fonctions et les intitulés “laisser un commentaire”, c’est parfait, encore merci
Il ne faut pas être du genre ingrat. Je remercie quand j’ai trouvé une solution. Merci à l’auteur
Merci pour l’astuce bien pratique !
C’est étonnant qu’une “option” de la sorte n’existe pas en natif sur WordPress…
Une telle option existe au niveau global mais uniquement pour les nouveaux contenus à paraître. Sinon, il faut éditer en masse… pas très pratique !
C’est une fois que l’on a décoché la case “autorisé les commentaires” dans le panneau discussion lors de la rédaction d’un nouvel article ?
Ou il y a une option que j’aurais loupé quelque part… ?
Bonjour,
Si on vise les articles uniquement on peut également ruser et se rendre dans le menu Réglages => Discussion et cocher la case “Fermer automatiquement les commentaires pour les articles vieux de plus de” en ayant pris soin préalablement de noter 1 jour dans le délai.
Merci, c’est top !
merci pour le tuto 😀
Oui j’ai installé jetpack mais je pense que je n’avais pas activé Askimet. Je viens de le faire mais cela ne supprime pas les commentaires existants. Pour les supprimer je passe par Commentaires / approuvés / j’en sélectionne (max 100 sinon ça bug), je supprime ou mets en indésirable…. Allez plus que 4142…
Je suis preneuse d’une manip plus rapide (d’autant que j’ai beaucoup d’erreurs 404. Merci encore pour votre aide
Une fois Akismet activé, vous disposez d’une option Vérifier les commentaires indésirables dans l’onglet Commentaires de votre administration WordPress.
Bonjour et merci pour vos tutoriels qui aident bien 🙂
Voilà, moi j’ai un souci sur l’affichage des commentaires de quelques articles de mon blog. J’avais laissé la possibilité de laisser des commentaires ouverte et j’ai eu plein de commentaires envoyés par des robots (presque 6000 au total). J’ai évidemment décoché l’option mais les commentaires anciens sont toujours affichés et je ne trouve pas comment les supprimer de l’affichage.
Est-ce que vous auriez une idée ?
merci pour votre aide
Avez-vous installé le plugin Akismet (gratuit pour une utilisation non commerciale) ? Ou tout autre module anti-spam ?
merci pour cette astuce, en effet même si wordpress est à la base un moteur de blog, cela ne l’empèche pas d’etre un bon CMS qui peut etre utilisé dans des sites qui ne demandent pas d’activer les commentaires
Belle démonstration mais il aurait été cool d’expliquer les raisons du “pourquoi” de cette désactivation.
Il existe des tas de raisons comme le besoin de bloquer un bad buzz.
Ça désactive les commentaires mais est-ce que ça ôte également de l’affichage les mentions “Ajouter un commentaire” ou “Aucun commentaire”, voire ?
Non pour ce faire, il faut modifier le thème via un child theme par exemple.
Bonjour, existe-t-il un tuto pour cela ?
–> désactiver les commentaires + ôter de l’affichage tout ce qui a rapport aux commentaires ?
Merci beaucoup pour ce travail en tout cas !
Hum pour cela il faudrait éditer le thème… donc pas vraiment de solution universelle.
Hello
C’est pas “false” mais “closed” (ou “open”).
Bisous
Comment ça ? Je ne comprends pas mon erreur cher collègue ? Tu me fais un pastebin stp car ici le code est fonctionnel.
Mea culpa, j’ai confondu avec comment_status, j’ai parlé trop vite !
Non c’est un booléen non? https://core.trac.wordpress.org/browser/tags/3.9.1/src/wp-includes/comment-template.php#L989