Desativar Comentários e Trackbacks

ActionPHP
O código desativa o suporte para comentários e trackbacks em todos os tipos de post, redireciona usuários que tentam acessar a página de comentários, oculta comentários existentes, remove a página de comentários do menu e remove links de comentários da barra de administração.

Como instalar

  • Copie o código.
  • Cole o código no arquivo functions.php do seu tema WordPress ou em um plugin de funcionalidades personalizadas.
  • Salve o arquivo.

Explicando o código

  1. O primeiro bloco de código é acionado no gancho admin_init, que é disparado quando qualquer página administrativa é carregada.
    • Se a página atual for a página de edição de comentários (edit-comments.php), o usuário é redirecionado para a página inicial do admin e a execução é interrompida.
    • A meta box de comentários recentes é removida do dashboard.
    • Um loop percorre todos os tipos de post, verificando se suportam comentários ou trackbacks, e desativa o suporte para ambos, se necessário.
  2. Os próximos três blocos de código são filtros que fecham comentários e trackbacks no front-end, e ocultam comentários existentes.
  3. O próximo bloco de código é acionado no gancho admin_menu, que é disparado antes de o menu do admin ser gerado, e remove a página de edição de comentários do menu do admin.
  4. O último bloco de código é acionado no gancho init, que é disparado após o WordPress ter sido carregado, e remove o link de comentários da barra de administração, se a barra de administração estiver sendo exibida.

Códigos

Functions (php)

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

    // Remove comments metabox from dashboard
    remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');

    // Disable support for comments and trackbacks in post types
    foreach (get_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');
        }
    }
});

// Close comments on the front-end
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);

// Hide existing comments
add_filter('comments_array', '__return_empty_array', 10, 2);

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

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

				
			

Relacionados

Redirecionar para o Próximo Post Após um Número de Segundos Específico

Este código PHP permite redirecionar automaticamente os visitantes...
FunctionsPHP

Redirecionar para o Próximo Post Automaticamente

Este código PHP e JavaScript permite redirecionar automaticamente...
FunctionsPHP

Remover Logo do WP da Página de Login e Barra Admin

Este código remove o logotipo do WordPress da...
FunctionsPHP

Fale com a Lab1