web-dev-qa-db-fra.com

Est-il possible de supprimer totalement les commentaires et fonctions de commentaires?

Je ne veux pas que des requêtes de commentaires soient exécutées. Je ne veux rien dire sur les commentaires à afficher dans la zone d'administration wordpress.

Est-ce possible d'une manière ou d'une autre?

EDIT: Supprimer tous les liens vers les commentaires de la barre d'administration, et toute la section dorsale.

23
Peter Westerlund

Voici une liste de toutes les réponses ci-dessus et une suppression du lien de la barre d'administration. Ajoutez-le simplement à votre fichier de fonction de thèmes ou faites-en un plugin. Je vais marquer ceci comme un wiki de communauté car la réponse de chacun est juste, personne ne l'a ajouté.

<?php
// Removes from admin menu
add_action( 'admin_menu', 'my_remove_admin_menus' );
function my_remove_admin_menus() {
    remove_menu_page( 'edit-comments.php' );
}
// Removes from post and pages
add_action('init', 'remove_comment_support', 100);

function remove_comment_support() {
    remove_post_type_support( 'post', 'comments' );
    remove_post_type_support( 'page', 'comments' );
}
// Removes from admin bar
function mytheme_admin_bar_render() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu('comments');
}
add_action( 'wp_before_admin_bar_render', 'mytheme_admin_bar_render' );
?>
34
xLRDxREVENGEx

Pour supprimer le menu Commentaires:

add_action( 'admin_init', 'my_remove_admin_menus' );
function my_remove_admin_menus() {
    remove_menu_page( 'edit-comments.php' );
}
11
kucrut

Cela devrait supprimer le support des commentaires sur votre site:

add_action('admin_menu', 'remove_comment_support');

function remove_comment_support() {
    remove_post_type_support( 'post', 'comments' );
    remove_post_type_support( 'page', 'comments' );
}

Je ne sais pas s'il cachera toutes les mentions de commentaires dans la section admin, cependant. La zone "En ce moment" sur le tableau de bord est principalement codée en dur. Vous devez donc la cacher ou procéder à un piratage pour filtrer la ligne concernant les "Commentaires". Mais il devrait supprimer le texte "commentaires" partout ailleurs que je peux penser.

7
goldenapples

Il existe une solution prête à l'emploi qui fait exactement cela. C'est un plugin de Frank Bültge

Docs: http://wpengineer.com/2230/removing-comments-absolutely-wordpress/

Téléchargement du plug-in: https://github.com/bueltge/Remove-Comments-Absolutely

Il suffit d'installer et c'est tout. pas de config.

Cela fonctionne bien avec WP 3.5

3
mikkelbreum

Cela ne l'enlèvera pas de votre balisage en soi , mais vous pourrez facilement cacher le lien de la barre d’administration WP 3.1 (visuellement et depuis les lecteurs d’écran) en ajoutant la ligne suivante au CSS de votre thème. :

li#wp-admin-bar-comments { display: none; visibility: hidden; }

3
poisontofu
// Disable support for comments and trackbacks in post types
function df_disable_comments_post_types_support() {
    $post_types = get_post_types();
    foreach ($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', 'df_disable_comments_post_types_support');

// Close comments on the front-end
function df_disable_comments_status() {
    return false;
}
add_filter('comments_open', 'df_disable_comments_status', 20, 2);
add_filter('pings_open', 'df_disable_comments_status', 20, 2);

// Hide existing comments
function df_disable_comments_hide_existing_comments($comments) {
    $comments = array();
    return $comments;
}
add_filter('comments_array', 'df_disable_comments_hide_existing_comments', 10, 2);

// Remove comments page in menu
function df_disable_comments_admin_menu() {
    remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'df_disable_comments_admin_menu');

// Redirect any user trying to access comments page
function df_disable_comments_admin_menu_redirect() {
    global $pagenow;
    if ($pagenow === 'edit-comments.php') {
        wp_redirect(admin_url()); exit;
    }
}
add_action('admin_init', 'df_disable_comments_admin_menu_redirect');

// Remove comments metabox from dashboard
function df_disable_comments_dashboard() {
    remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('admin_init', 'df_disable_comments_dashboard');

// Remove comments links from admin bar
function df_disable_comments_admin_bar() {
    if (is_admin_bar_showing()) {
        remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
    }
}
add_action('init', 'df_disable_comments_admin_bar');

La source

3
Manolis