Come rimuovere completamente la funzione e la sezione commenti in WordPress?

5 mar 2011, 10:20:03
Visualizzazioni: 43.6K
Voti: 34

Non voglio che vengano eseguite query relative ai commenti. Non voglio che venga mostrato nulla riguardo ai commenti nell'area di amministrazione di WordPress.

È possibile in qualche modo?

MODIFICA: Rimuovere tutti i collegamenti ai commenti dalla barra di amministrazione e tutta la sezione del backend.

1
Commenti

Nota che dovrai eliminare manualmente il codice dai tuoi file template, poiché non c'è modo di nasconderlo con del codice da lì. Credo sia così, se sbaglio qualcuno mi corregga.

xLRDxREVENGEx xLRDxREVENGEx
22 mag 2011 18:09:10
Tutte le risposte alla domanda 6
0
66

Ecco un elenco di tutte le risposte precedenti con l'aggiunta della rimozione del link della barra di amministrazione. Aggiungi questo codice al file delle funzioni del tuo tema o crea un plugin. Lo segnerò come wiki della community poiché tutte le risposte sono corrette, ma nessuno le ha messe tutte insieme.

<?php
// Rimuove dal menu di amministrazione
add_action( 'admin_menu', 'my_remove_admin_menus' );
function my_remove_admin_menus() {
    remove_menu_page( 'edit-comments.php' );
}
// Rimuove da post e pagine
add_action('init', 'remove_comment_support', 100);

function remove_comment_support() {
    remove_post_type_support( 'post', 'comments' );
    remove_post_type_support( 'page', 'comments' );
}
// Rimuove dalla barra di amministrazione
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' );
?>
22 mag 2011 18:02:36
1
15

Per rimuovere il menu Commenti:

add_action( 'admin_init', 'my_remove_admin_menus' );
function my_remove_admin_menus() {
    remove_menu_page( 'edit-comments.php' );
}
5 mar 2011 14:50:35
Commenti

Ottimo. E dalla nuova barra superiore di WP 3.1?

Peter Westerlund Peter Westerlund
6 mar 2011 13:37:32
1

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 sono sicuro se nasconderà ogni riferimento ai commenti nella sezione di amministrazione. La box "Right Now" nella dashboard è principalmente hard-codata, quindi dovresti nascondere quella box o fare qualche hack per filtrare la riga relativa ai "Commenti". Ma dovrebbe rimuovere il testo "commenti" in tutti gli altri punti che mi vengono in mente.

5 mar 2011 12:23:54
Commenti

Ma è ancora visibile nel menu di amministrazione. Non voglio che accada.

Peter Westerlund Peter Westerlund
5 mar 2011 13:59:21
0
// Disabilita il supporto per commenti e trackback nei post type
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');

// Chiude i commenti in 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);

// Nasconde i commenti esistenti
function df_disable_comments_hide_existing_comments($comments) {
    $comments = array();
    return $comments;
}
add_filter('comments_array', 'df_disable_comments_hide_existing_comments', 10, 2);

// Rimuove la pagina commenti dal menu admin
function df_disable_comments_admin_menu() {
    remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'df_disable_comments_admin_menu');

// Reindirizza gli utenti che cercano di accedere alla pagina commenti
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');

// Rimuove il metabox commenti dalla dashboard
function df_disable_comments_dashboard() {
    remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('admin_init', 'df_disable_comments_dashboard');

// Rimuove i link ai commenti dalla 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

17 dic 2014 18:36:58
4

Questo non rimuoverà effettivamente l'elemento dal tuo markup, ma puoi facilmente nascondere il link della barra di amministrazione di WP 3.1 (sia visivamente che per i lettori di schermo) aggiungendo la seguente riga al CSS del tuo tema:

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

22 mag 2011 10:07:08
Commenti

Mentre approfondivo la lettura su questo argomento, ho trovato questo post su Six Revisions che spiega come modificare gran parte dell'interfaccia di amministrazione, incluso rimuovere ogni traccia della funzione dei commenti.

poisontofu poisontofu
22 mag 2011 10:43:36

...e se per qualsiasi motivo vuoi lasciare qualcosa di questo attivo per gli utenti di livello amministratore, usa la funzione current_user_can, ad esempio: if (!current_user_can('level_10')) si rivolge solo agli utenti non amministratori.

poisontofu poisontofu
22 mag 2011 10:56:42

I livelli utente sono deprecati. Usa invece 'manage_options' o qualche altra capability.

scribu scribu
22 mag 2011 18:12:54

@scribu: Mi chiedevo proprio questo, non sono riuscito a trovare riferimenti recenti ai livelli utente nel WP Codex. Grazie per avermelo fatto sapere (questa tabella di ruoli e capacità mi ha aiutato a capire meglio le capabilities).

poisontofu poisontofu
26 mag 2011 09:21:51
0

Esiste una soluzione già pronta che fa esattamente questo. Si tratta di un plugin sviluppato da Frank Bültge.

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

Scarica il plugin: https://github.com/bueltge/Remove-Comments-Absolutely

Basta installarlo e il gioco è fatto. Nessuna configurazione necessaria.

Funziona perfettamente con WordPress 3.5.

13 dic 2012 23:35:52