En algunos proyectos es posible que tengas que eliminar los productos que tienes en tu sitio, por ejemplo para realizar una nueva importación. En este artículo veremos diferentes formas de realizar esto, desde la eliminación manual hasta la eliminación directa en la base de datos.
Eliminación manual
Puedes usar el proceso por lotes para eliminar registros desde la administración de WordPress, primero tienes que listar todos los productos desde la opción de productos de WooCommerce.

Luego puedes evaluar mostrar más productos, ya que por defecto te mostrará 20, puedes hacerlo desde opciones de pantalla.

Luego selecciona todos los productos listados y usa la opción de eliminación por lotes, tal como se muestra en la siguiente imagen:

Usando consultas SQL
La manera más rápida de eliminar todos los productos, especialmente si son miles de productos, es hacerlo directamente en la base de datos.
Desde el panel de tu cuenta de hosting deberías tener la aplicación de PHPMyAdmin, al ingresar, selecciona la base de datos y luego el tab de SQL.

El código que tienes que ejecutar es el siguiente:
DELETE relations.*, taxes.*, terms.*
FROM wp_term_relationships AS relations
INNER JOIN wp_term_taxonomy AS taxes
ON relations.term_taxonomy_id=taxes.term_taxonomy_id
INNER JOIN wp_terms AS terms
ON taxes.term_id=terms.term_id
WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type='product');
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'product');
DELETE FROM wp_posts WHERE post_type = 'product';
Conclusión
Si tienes un proyecto que requiere la eliminación total de todos los productos y sus relaciones puedes hacerlo manualmente o usando consultas SQL a la base de datos y evitar el uso de plugins adicionales.
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores
Hola, buenas tardes. Si en lugar de productos quisiera eliminar post o artículos que publicó un malware cómo sería? Tengo varios sitios con casi 3 mil artículos o post publicados por un virus, quisiera saber la forma de eliminarlos de manera masiva o rápida desde la base de datos. Muchas gracias por tu respuesta.
Hola Fernando, tal como lo comentas, entiendo que los artículos del malware están mezclados con artículos válidos, en ese caso lo que te sugiero es efectivamente trabajarlo a nivel de BD. Debe haber algún patron que puedas usar, por ejemplo rango de fechas, que no tengan categorías, etc. la idea es cambiar el status del artículo a draft, y con eso ya puedes eliminarlo de manera segura desde el backend. Para hacer la consulta SQL depende mucho del patron, pero básicamente sería hacer un update a la tabla wp_posts.