Existe-t-il AUCUN moyen de supprimer totalement la fonction et la section de commentaires?

17

Je ne souhaite pas que des requêtes de commentaires soient exécutées. Je ne veux pas que les commentaires soient affichés dans la zone d'administration de wordpress.

Est-ce possible d'une quelconque manière?

EDIT: supprimez tous les liens vers les commentaires de la barre d'administration, ainsi que toute la section du backend.

    
posée Peter Westerlund 05.03.2011 - 09:20

6 réponses

30

Voici une liste de toutes les réponses ci-dessus et une suppression du lien de la barre d’administrateur. 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 tout le monde est juste mais 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' );
?>
    
réponse donnée xLRDxREVENGEx 22.11.2012 - 00:15
9

Pour supprimer le menu Commentaires:

add_action( 'admin_init', 'my_remove_admin_menus' );
function my_remove_admin_menus() {
    remove_menu_page( 'edit-comments.php' );
}
    
réponse donnée kucrut 05.03.2011 - 13:50
6

Ceci 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 administrateur, cependant. La zone "En ce moment" sur le tableau de bord est principalement codée en dur. Vous devez donc la cacher ou effectuer un piratage pour filtrer la ligne à propos de "Commentaires". Mais cela devrait supprimer le texte "commentaires" partout où je peux penser.

    
réponse donnée goldenapples 05.03.2011 - 11:23
3

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

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

    
réponse donnée poisontofu 22.05.2011 - 09:07
3

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

Docs: enlace

Téléchargement du plug-in: enlace

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

Cela fonctionne bien avec WP 3.5

    
réponse donnée mikkelbreum 13.12.2012 - 22:35
3
// 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');

Source

    
réponse donnée Manolis 17.12.2014 - 17:36

Lire d'autres questions sur les étiquettes