Esiste UN MODO per rimuovere totalmente la funzione e la sezione dei commenti?


26

Non voglio che vengano eseguite query di commenti. Non voglio fare commenti sui commenti da mostrare nell'area di amministrazione di wordpress.

Questo è possibile in qualche modo?

MODIFICA: rimuove tutti i collegamenti ai commenti dalla barra di amministrazione e tutta la sezione back-end.


Solo una nota dovrai eliminare manualmente il codice dai tuoi file modello in quanto non c'è modo di nasconderlo con il codice da lì. Credo di sì se sbaglio qualcuno mi corregga.
xLRDxREVENGEx

Risposte:


40

Ecco un elenco di tutte le risposte sopra e una rimozione del collegamento alla barra di amministrazione. Basta aggiungerlo al file delle funzioni dei temi o renderlo un plug-in. Lo segnerò come un wiki della comunità poiché la risposta di tutti è giusta, proprio nessuno lo ha aggiunto tutti insieme.

<?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' );
?>

11

Per rimuovere il menu Commenti:

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

Grande. E dal nuovo pannello superiore di WP 3.1?
Peter Westerlund,

7

Questo dovrebbe rimuovere il supporto per i commenti sul tuo sito:

add_action('admin_menu', 'remove_comment_support');

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

Non so se nasconderà ogni menzione di commenti nella sezione admin. La casella "Right Now" sulla dashboard è per lo più codificata, quindi dovresti nascondere quella casella o fare un po 'di hacker per filtrare la riga su "Commenti". Ma dovrebbe rimuovere il testo dei "commenti" da qualunque altra parte a cui io possa pensare.


Ma è ancora visibile nel menu di amministrazione. Non lo voglio.
Peter Westerlund,

3

Questo non lo rimuoverà dal tuo markup di per sé , ma puoi facilmente nascondere il link della barra di amministrazione di WP 3.1 (sia visivamente che dagli screen reader) aggiungendo la seguente riga al CSS del tuo tema:

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


Mentre leggevo un po 'di più su questo argomento, ho trovato questo post su Sei revisioni che illustra come modificare molto l'interfaccia di amministrazione, inclusa la rimozione di tutte le tracce di una funzione di commento.
poisontofu,

... e se per qualsiasi motivo desideri lasciare tutto ciò a disposizione degli utenti a livello di amministratore, utilizza la current_user_canfunzione, ad esempio: if (!current_user_can('level_10'))target solo utenti non amministratori.
poisontofu,

I livelli utente sono obsoleti. Utilizza invece "manage_options" o altre funzionalità.
scribu,

@scribu: mi chiedevo questo, non ho trovato alcun riferimento recente ai livelli utente nel WP Codex. Grazie per avermelo fatto sapere ( questa tabella di ruoli e capacità mi ha aiutato a ottenere le mie capacità principali).
poisontofu,


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');

fonte

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.