Désactiver les commentaires dans WordPress
La désactivation des commentaires sur WordPress est une pratique courante pour diverses raisons.
Que ce soit pour désencombrer le backoffice, libérer le nombre de requêtes sur le site et donc accroître sa vitesse ou encore se protéger contre les spams ou simplement si l’on n’utilise pas la fonctionnalité de blog… Il existe plusieurs méthodes pour désactiver les commentaires dans WordPress.
Dans ce tutoriel, je vais vous donner une solution avec plugin ou sans plugin pour désactiver les commentaires de votre site WordPress.
Comment désactiver les commentaires dans WordPress ?
Pour les nouveaux articles et pages
Dans les réglages de WordPress vous avez la possibilité de créer une règle générale pour toutes vos prochaines publications. Pour cela, rendez-vous dans « Réglages > Commentaires » et décochez l’option « Autoriser les commentaires sur les nouvelles publications ».
Si vous souhaitez le faire de manière individuelle, lorsque vous créez de nouveaux articles ou pages, vous pouvez désactiver les commentaires en accédant aux paramètres situés dans la colonne de droite. Dans cette section, vous pouvez juste décocher l’option autorisant les commentaires lors de la publication de contenu.
Désactiver les commentaires pour les articles et les pages existants
Avec le plugin « Disable comments »
Disable comments est une solution simple à utiliser. Il permet de désactiver ou de supprimer les commentaires, partiellement ou totalement, en fonction du type de contenu (post type) ou en retirant les API associées aux commentaires.
Déactiver les commentaires WordPress sans plugin
Pour ceux qui préfèrent minimiser l’utilisation de plugins, il est possible de désactiver les commentaires en ajoutant du code au fichier « functions.php » de votre thème enfant. Le code suivant désactive les commentaires pour tous les types de contenu :
Désactiver les commentaires pour certains customs post types :
// Désactiver les commentaires pour certains CPT
function inumedia_desactiver_cpt_commentaires( $open, $post_id ) {
$cpt_to_disable = array( 'pages', 'nom-du-cpt'); // Remplacez par vos CPT à désactiver les commentaires
if ( in_array( get_post_type( $post_id ), $cpt_to_disable ) ) {
return false; // Désactiver les commentaires pour les CPT spécifiés
}
return $open; // Conserver l'état des commentaires pour les autres CPT
}
add_filter( 'comments_open', 'inumedia_desactiver_cpt_commentaires', 10, 2 );
Désactiver totalement les commentaires :
add_action('admin_init', function () {
// Je vais rediriger la page commentaires de l'adminsitration
global $pagenow;
if ($pagenow === 'edit-comments.php') {
wp_safe_redirect(admin_url());
exit;
}
// J'enlève la boite des commentaires dans tous les posts
foreach (get_post_types() as $post_type) {
if (post_type_supports($post_type, 'comments')) {
remove_post_type_support($post_type, 'comments');
}
}
// Je supprime la box du tableau de bord
remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
});
// On ferme les commentaires en front-end
add_filter('comments_open', '__return_false', 20, 2);
// On cache les commntaires
add_filter('comments_array', '__return_empty_array', 10, 2);
// On supprime le menu "Commentaires" de l'administration"
add_action('admin_menu', function () {
remove_menu_page('edit-comments.php');
});
// On supprime le menu "Commentaires" de la barre admin
add_action('init', function () {
if (is_admin_bar_showing()) {
remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
}
});
Supprimer les commentaires dans WordPress
Avec le plugin « Disable comments»
Sans plugin
Pour ceux qui ne souhaitent pas utiliser de plugins supplémentaires, il est également possible de supprimer les commentaires en ajoutant du code au fichier « functions.php » de votre thème enfant.
Supprimer uniquement les commentaires de certains customs posts types :
// Supprimer les commentaires existants pour certains CPT
function inumedia_supprimer_commentaires_cpt() {
$cpt_to_delete_comments = array( 'pages', 'nom-du-cpt' ); // Remplacez par vos CPT pour lesquels vous souhaitez supprimer les commentaires
foreach ( $cpt_to_delete_comments as $cpt ) {
$comments = get_comments( array(
'post_type' => $cpt
) );
foreach ( $comments as $comment ) {
wp_delete_comment( $comment->comment_ID, true ); // Supprimer le commentaire de manière définitive
}
}
}
add_action( 'init', 'inumedia_supprimer_commentaires_cpt' );
Supprimer tous les commentaires :
// Supprimer tous les commentaires existants dans la base de données
function inumedia_supprimer_tous_les_commentaires() {
$comments = get_comments(); // Récupérer tous les commentaires
foreach ( $comments as $comment ) {
wp_delete_comment( $comment->comment_ID, true ); // Supprimer chaque commentaire de manière définitive
}
}
add_action( 'init', 'inumedia_supprimer_tous_les_commentaires' );
Faites attention, la suppression des commentaires est une action irréversible.
Avant de procéder, faites une sauvegarde de votre site. En cas de bugs, vous pourrez revenir en arrière.
En utilisant ces méthodes, vous pourrez gérer les commentaires sur votre site WordPress en fonction de vos besoins.
Créez un site internet sur mesure, conforme RGPD, sécurisé, optimisé pour votre référencement