Existe alguma maneira de remover totalmente a função e seção de comentários?

26

Não quero que nenhuma consulta de comentário seja executada. Eu não costumo escrever nada sobre comentários na área de administração do wordpress.

Isso é possível de alguma forma?

EDIT: remova todos os links para os comentários da barra de administração e toda a seção de back-end.

Peter Westerlund
fonte
Apenas uma observação, você terá que excluir manualmente o código dos arquivos de modelo, pois não há como ocultá-lo com o código a partir daí. Eu acredito que sim, se eu estiver errado, alguém me corrija.
XLRDxREVENGEx

Respostas:

40

Aqui está uma lista de todas as respostas acima e uma remoção do link da barra de administrador. Basta adicioná-lo ao seu arquivo de função de temas ou torná-lo um plugin. Vou marcar isso como um wiki da comunidade, pois a resposta de todos está certa, mas ninguém adicionou tudo isso junto.

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

Para remover o menu Comentários:

add_action( 'admin_init', 'my_remove_admin_menus' );
function my_remove_admin_menus() {
    remove_menu_page( 'edit-comments.php' );
}
Dzikri Aziz
fonte
Ótimo. E a partir do novo painel superior do WP 3.1?
Peter Westerlund
7

Isso deve remover o suporte para comentários em seu site:

add_action('admin_menu', 'remove_comment_support');

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

Não sei se ele ocultará todas as menções de comentários na seção de administração. A caixa "Right Now" no painel é na maioria codificada, então você terá que ocultar essa caixa ou fazer alguma invasão para filtrar a linha sobre "Comentários". Mas deve remover o texto "comentários" em qualquer outro lugar que eu possa pensar.

maçãs douradas
fonte
Mas ainda visível no menu de administração. Não quero isso.
Peter Westerlund
3

Isso não a removerá da sua marcação por si só , mas você pode ocultar facilmente o link da barra de administração do WP 3.1 (visualmente e dos leitores de tela) adicionando a seguinte linha ao CSS do seu tema:

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

poisontofu
fonte
Ao ler um pouco mais sobre esse assunto, encontrei este post no Six Revisions, que aborda como ajustar grande parte da interface do administrador, incluindo a remoção de todos os vestígios de uma função de comentário.
poisontofu
... e se, por qualquer motivo, você quiser deixar isso para usuários no nível de administrador, use a current_user_canfunção, por exemplo: if (!current_user_can('level_10'))direciona-se apenas a usuários não administradores.
poisontofu
Os níveis do usuário estão obsoletos. Use 'manage_options' ou algum outro recurso.
scribu 22/05
@scribu: Eu me perguntava sobre isso, não consegui encontrar nenhuma referência recente aos níveis de usuário no WP Codex. Obrigado por me informar ( esta tabela de funções e recursos me ajudou a obter minhas capacidades de cabeça).
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

Manolis
fonte