Cómo eliminar los comentarios de una Entrada o Página de WordPress en Bulk (sin plugins)

Wordpress

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

borrar comentarios en bulk wordpress
Cómo eliminar los comentarios de una Entrada o Página de Wordpress en Bulk (sin plugins) 3

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.

Daniel Pajuelo
Daniel Pajuelo es ingeniero informático y SEO Senior, actualmente trabajando en Guruwalk e impartiendo clases en BIG School (antes BIGSEO Academy). Ver más

Continua leyendo

Cómo permitir HTML en la biografía del autor en WordPress

Aquí te muestro cómo permitir HTML en las biografías de autor en WordPress, mejorando así la presentación y el SEO de los perfiles de tu sitio.
wordpress noindex resultados de busqueda

Páginas noindex aparecen en búsquedas de WordPress: Cómo arreglarlo

En esta entrada te explico como prevenir que las páginas o entradas de tu Wordpress que has marcado como noindex, y que por lo tanto no deseas que los buscadores las rastreen, no aparezcan tampoco en los resultados de búsqueda del buscador interno de Wordpress.
Botón flotante de Whatsapp sitewide

Cómo insertar un botón flotante de WhatsApp en TODO el sitio WordPress (sin plugins)

En 2 minutos te enseño a insertar un botón flotante de Whatsapp en todo tu sitio Wordpress, totalmente gratis, y sin plugins.