¿Hay ALGUNA forma de eliminar completamente la función y sección de comentarios?
No quiero que se ejecuten consultas de comentarios. No quiero que se muestre nada relacionado con comentarios en el área de administración de WordPress.
¿Es esto posible de alguna manera?
EDICIÓN: Eliminar todos los enlaces a los comentarios de la barra de administración y toda la sección del backend.

Aquí hay una lista de todas las respuestas anteriores y la eliminación del enlace de la barra de administración. Solo agrégalo al archivo de funciones de tu tema o conviértelo en un plugin. Lo marcaré como un wiki de la comunidad ya que todas las respuestas son correctas, solo que nadie las reunió todas juntas.
<?php
// Elimina del menú de administración
add_action( 'admin_menu', 'my_remove_admin_menus' );
function my_remove_admin_menus() {
remove_menu_page( 'edit-comments.php' );
}
// Elimina de entradas y páginas
add_action('init', 'remove_comment_support', 100);
function remove_comment_support() {
remove_post_type_support( 'post', 'comments' );
remove_post_type_support( 'page', 'comments' );
}
// Elimina de la barra de administración
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' );
?>

Esto debería eliminar el soporte para comentarios en tu sitio:
add_action('admin_menu', 'remove_comment_support');
function remove_comment_support() {
remove_post_type_support( 'post', 'comments' );
remove_post_type_support( 'page', 'comments' );
}
No estoy seguro si ocultará todas las menciones de comentarios en la sección de administración. El cuadro "Ahora mismo" en el escritorio está mayormente codificado directamente, así que tendrías que ocultar ese cuadro o hacer algún truco para filtrar la línea sobre "Comentarios". Pero debería eliminar el texto de "comentarios" en todos los demás lugares que se me ocurren.

// Deshabilitar soporte para comentarios y trackbacks en tipos de contenido
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');
// Cerrar comentarios en el 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);
// Ocultar comentarios existentes
function df_disable_comments_hide_existing_comments($comments) {
$comments = array();
return $comments;
}
add_filter('comments_array', 'df_disable_comments_hide_existing_comments', 10, 2);
// Eliminar página de comentarios del menú
function df_disable_comments_admin_menu() {
remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'df_disable_comments_admin_menu');
// Redirigir a usuarios que intenten acceder a la página de comentarios
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');
// Eliminar metabox de comentarios del escritorio
function df_disable_comments_dashboard() {
remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('admin_init', 'df_disable_comments_dashboard');
// Eliminar enlaces de comentarios de la barra de administración
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');

Esto no lo eliminará de tu marcado per se, pero puedes ocultar fácilmente el enlace de la barra de administración de WP 3.1 (tanto visualmente como de los lectores de pantalla) añadiendo la siguiente línea al CSS de tu tema:
li#wp-admin-bar-comments { display: none; visibility: hidden; }

Mientras investigaba más sobre este tema, encontré esta publicación en Six Revisions que cubre cómo ajustar gran parte de la interfaz de administración, incluyendo eliminar todo rastro de la función de comentarios.

...y si por alguna razón quieres dejar algo de esto activo para usuarios de nivel administrador, usa la función current_user_can
, por ejemplo: if (!current_user_can('level_10'))
se dirige solo a usuarios no administradores.

Los niveles de usuario están obsoletos. Usa 'manage_options' u otra capacidad en su lugar.

@scribu: Me preguntaba sobre esto, no pude encontrar ninguna referencia reciente a los niveles de usuario en el WP Codex. Gracias por hacérmelo saber (esta tabla de roles y capacidades me ayudó a entender las capacidades).

Existe una solución lista para usar que hace exactamente eso. Es un plugin de Frank Bültge
Documentación: http://wpengineer.com/2230/removing-comments-absolutely-wordpress/
Descarga del plugin: https://github.com/bueltge/Remove-Comments-Absolutely
Solo instálalo y listo. No requiere configuración.
Funciona correctamente con WP 3.5.
