Désactiver les commentaires dans WordPress
Tutoriel Inu Media, désactiver supprimer les commentaires wordpress

Désactiver les commentaires dans WordPress

Pour débutants
0 0 votes
Évaluation de l'article

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

desactiver nouveaux commentaires sur wordpress

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 sur chaque post sur WordPress

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.

Desactiver les commentairesWordPress avec Disable Comments

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»

Desactiver les commentairesWordPress avec 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.

Vous souhaitez un site internet sur mesure ?

Créez un site internet sur mesure, conforme RGPD, sécurisé, optimisé pour votre référencement