
Tu utilises WordPress pour un site vitrine, une boutique ou un projet où les commentaires ne sont pas nécessaires ? Ce guide va t’expliquer comment désactiver complètement les commentaires dans WordPress (front-end et back-end), que ce soit globalement, par post type, ou pour supprimer tous les commentaires existants dans la base de données.
Ce que tu vas apprendre
1. Désactiver les commentaires globalement (front-end + admin)
Si tu veux bloquer complètement les commentaires sur tous les contenus (articles, pages, custom post types), copie-colle ce code dans ton fichier functions.php
:
📄 Code à coller dans functions.php
/* Désactiver les commentaires partout Front + Back */
function disable_comments_everywhere() {
// Supprimer le support des commentaires et trackbacks pour tous les types de contenu
foreach (get_post_types() as $post_type) {
if (post_type_supports($post_type, 'comments')) {
remove_post_type_support($post_type, 'comments');
remove_post_type_support($post_type, 'trackbacks');
}
}
}
add_action('admin_init', 'disable_comments_everywhere');
// Fermer les commentaires sur le front-end
function disable_comments_status() {
return false;
}
add_filter('comments_open', 'disable_comments_status', 20, 2);
add_filter('pings_open', 'disable_comments_status', 20, 2);
// Masquer les commentaires existants
function disable_existing_comments($comments) {
return [];
}
add_filter('comments_array', 'disable_existing_comments', 10, 2);
// Supprimer la page de gestion des commentaires dans l’admin
function disable_comments_admin_menu() {
remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'disable_comments_admin_menu');
// Redirection si accès direct à la page des commentaires
function disable_comments_admin_redirect() {
global $pagenow;
if ($pagenow === 'edit-comments.php') {
wp_redirect(admin_url());
exit;
}
}
add_action('admin_init', 'disable_comments_admin_redirect');
// Supprimer le widget "Commentaires récents" du tableau de bord
function disable_comments_dashboard_widget() {
remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('wp_dashboard_setup', 'disable_comments_dashboard_widget');
// Supprimer le lien "Commentaires" dans la barre d’administration
function disable_comments_admin_bar() {
if (is_admin_bar_showing()) {
remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
}
}
add_action('init', 'disable_comments_admin_bar');
🧠 Ce que fait ce code :
- Bloque les commentaires sur tous les types de contenus
- Supprime le menu « Commentaires » dans l’admin
- Supprime le widget commentaires récents sur le tableau de bord
- Supprime l’icône de commentaires dans la barre admin
2. Désactiver les commentaires uniquement pour un post type
Tu veux conserver les commentaires sur les articles, mais les désactiver uniquement sur un Custom Post Type comme par exemple tes recettes
? Voici comment faire.
📄 Code à coller dans functions.php
/* Désactiver les commentaires pour le CPT Recette */
function desactiver_commentaires_recettes() {
remove_post_type_support('recettes', 'comments');
remove_post_type_support('recettes', 'trackbacks');
}
add_action('init', 'desactiver_commentaires_recettes');
add_filter('comments_open', function($open, $post_id) {
if (get_post_type($post_id) === 'recettes') {
return false;
}
return $open;
}, 20, 2);
add_filter('comments_array', function($comments, $post_id) {
if (get_post_type($post_id) === 'recettes') {
return [];
}
return $comments;
}, 10, 2);
✅ Résultat :
- Les visiteurs ne pourront pas commenter les contenus de type
recettes
- L’interface de commentaire est masquée dans l’admin pour ce type de contenu uniquement
3. Supprimer tous les commentaires existants (et nettoyer la base)
Tu veux aller plus loin et supprimer tous les commentaires de ton site WordPress, y compris ceux qui sont approuvés, en attente ou indésirables ? Voici un code à exécuter une seule fois pour nettoyer ta base de données.
⚠️ Attention : cette opération est irréversible. Fais une sauvegarde de ta base avant.
📄 Code à coller temporairement dans functions.php
/* Supprimer tous les commentaires existants */
function supprimer_tous_les_commentaires_et_meta() {
global $wpdb;
// Supprime toutes les métadonnées liées aux commentaires
$wpdb->query("DELETE FROM $wpdb->commentmeta");
// Supprime tous les commentaires
$wpdb->query("DELETE FROM $wpdb->comments");
// Remet les compteurs de commentaires à zéro
$wpdb->query("UPDATE $wpdb->posts SET comment_count = 0");
}
add_action('init', 'executer_suppression_commentaires_une_fois');
function executer_suppression_commentaires_une_fois() {
supprimer_tous_les_commentaires_et_meta();
// Supprime le hook après exécution pour éviter que ça se répète
remove_action('init', 'executer_suppression_commentaires_une_fois');
}
✅ Étapes à suivre :
- Colle ce code dans
functions.php
- Recharge une seule fois une page de ton site
- Supprime ce code pour éviter une nouvelle suppression automatique
🔍 Bonus SEO : pourquoi supprimer les commentaires ?
- Réduction du spam (et donc meilleure qualité de contenu)
- Amélioration des performances (moins de requêtes)
- Contrôle total sur l’affichage
- Pas de contenu dupliqué ou généré par des utilisateurs
4. Désactiver et supprimer les commentaires WordPress avec un plug-in
SI tu as vraiment la flemme ou peur de toucher au code, il existe l'extension Disable Comments qui est simple et va droit à l'essentiel pour t'aider à désactiver et supprimer les commentaires WordPress !
Besoin d'un expert pour personnaliser ton site WordPress ?
Reçoit une estimation gratuite des optimisations à apporter à ton site web.
Contacte-moi pour en discuter ensemble !
Laisser un commentaire