Te muestro como crear una modificación de WordPress, para que en adelante puedas borrar todos los comentarios de una entrada o página con tan solo un clic (en bulk), sin plugins y gratis.
- Tiempo de implementación: 10/15 min
- Nivel de dificultad: Fácil
Creamos un plugin propio
Primero, crea una nueva carpeta en wp-content/plugins/
llamada delete-comments-bulk
.
Dentro de esa carpeta, crea un archivo llamado delete-comments-bulk.php.
Introduce este código en ese archivo. Puedes personalizar el nombre del Autor con el tuyo propio si lo deseas:
<?php
/*
Plugin Name: Borrar Comentarios
Description: Plugin para borrar todos los comentarios de una entrada o página específica desde el Dashboard.
Version: 1.0b
Author: Daniel Pajuelo
*/
// Agregar la opción 'Borrar todos los comentarios' en la lista de acciones de cada entrada o página
function borrar_comentarios_link_row($actions, $post) {
$url = admin_url('admin-post.php?action=borrar_comentarios&post_id=' . $post->ID . '&post_type=' . $post->post_type);
$url = wp_nonce_url($url, 'borrar_comentarios_nonce');
$actions['borrar_comentarios'] = '<a href="' . $url . '" onclick="return confirm(\'¿Estás seguro de que deseas borrar todos los comentarios de esta entrada?\')">Borrar todos los comentarios</a>';
return $actions;
}
add_filter('post_row_actions', 'borrar_comentarios_link_row', 10, 2);
add_filter('page_row_actions', 'borrar_comentarios_link_row', 10, 2); // Agregado para páginas
// Función para manejar la acción de borrar comentarios
function borrar_comentarios_handler() {
if (isset($_GET['post_id'])) {
if (check_admin_referer('borrar_comentarios_nonce')) {
$post_id = intval($_GET['post_id']);
$post_type = isset($_GET['post_type']) ? $_GET['post_type'] : 'post'; // Obtener el tipo de post (entrada o página)
// Obtener todos los comentarios de la entrada o página
$comments = get_comments(array('post_id' => $post_id));
if ($comments) {
foreach ($comments as $comment) {
wp_delete_comment($comment->comment_ID, true); // El segundo parámetro en true significa que se borrará permanentemente
}
// Actualizar el recuento de comentarios de la entrada o página
wp_update_comment_count($post_id);
wp_redirect(admin_url('edit.php?post_type=' . $post_type)); // Redireccionar según el tipo de post
exit;
} else {
die('No había comentarios para borrar.');
}
} else {
die('Nonce no verificado.');
}
}
}
add_action('admin_post_borrar_comentarios', 'borrar_comentarios_handler');
?>
Activa el plugin
Ve al Dashboard de WordPress y activa el plugin Delete Comments in Bulk
A borrar comentarios se ha dicho
Ahora, cuando vayas a la sección de páginas, verás una opción «Borrar todos los comentarios» junto a cada página. Al hacer clic en ella, se te pedirá confirmación. Si confirmas, todos los comentarios de esa entrada se borrarán.