Función para usar con el plugin Code Snippets que elimina permanentemente todos los comentarios (no solo los manda a la papelera) de tu instalación de WordPress. Ten mucho cuidado, ya que esta acción es irreversible.
⚠️ ADVERTENCIA:
Esta función eliminará todos los comentarios existentes en tu sitio cuando se active. Solo actívala si estás completamente seguro de que deseas borrar todos los comentarios permanentemente.
✅ Código para usar en Code Snippets:
function eliminar_comentarios_permanentes() {
global $wpdb;
// Eliminar comentarios
$wpdb->query("DELETE FROM $wpdb->comments");
// Eliminar metadatos de comentarios
$wpdb->query("DELETE FROM $wpdb->commentmeta");
// Opcional: Reiniciar el conteo de comentarios en cada post
$wpdb->query("UPDATE $wpdb->posts SET comment_count = 0");
// Opcional: Mensaje en el log o en pantalla (solo para pruebas)
error_log('Todos los comentarios fueron eliminados permanentemente.');
}
add_action('init', 'eliminar_comentarios_permanentes');
✅ Cómo usarlo:
-
Instala y activa el plugin Code Snippets si aún no lo tienes.
-
Crea un nuevo snippet.
-
Pega el código anterior.
-
Asigna un título descriptivo como Eliminar todos los comentarios.
-
Marca la opción "Ejecutar solo una vez" (si está disponible).
-
Guarda y activa el snippet.
-
Una vez hecho, desactiva o elimina el snippet para evitar que se vuelva a ejecutar.
Desactivar comentarios en todas las entradas
Perfecto, aquí tienes una función para desactivar los comentarios en todas las entradas (posts) actuales y futuras de tu sitio WordPress. Esta función:
-
Desactiva los comentarios en todas las entradas existentes.
-
Evita que se puedan activar en nuevas entradas en el futuro.
✅ Código para desactivar comentarios en todas las entradas (posts):
function desactivar_comentarios_en_todas_las_entradas() {
// Desactivar comentarios en entradas existentes
$args = array(
'post_type' => 'post',
'post_status' => 'any',
'posts_per_page' => -1,
);
$posts = get_posts($args);
foreach ($posts as $post) {
if (comments_open($post->ID)) {
// Cerrar comentarios
wp_update_post(array(
'ID' => $post->ID,
'comment_status' => 'closed',
'ping_status' => 'closed',
));
}
}
// Evitar que nuevos posts tengan comentarios activados
update_option('default_comment_status', 'closed');
update_option('default_ping_status', 'closed');
}
add_action('init', 'desactivar_comentarios_en_todas_las_entradas');
✅ Cómo usarlo en Code Snippets:
-
Crea un nuevo snippet en el plugin Code Snippets.
-
Pega el código anterior.
-
Asigna un nombre como Desactivar comentarios en entradas.
-
Actívalo.
-
Opcional: una vez hecho el cambio, puedes desactivarlo si no quieres que se vuelva a ejecutar, pero el cambio ya estará aplicado.