Si necesitas eliminar todos los productos de tu tienda WooCommerce, ya sea porque estás desarrollando, has hecho una importación y quieres eliminarlo o quieres empezar de nuevo, puedes usar el siguiente fragmento que he encontrado y probado y que va mucho más rápido cuando se ejecuta directamente en la base de datos.
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';
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'product_variation');
DELETE FROM wp_posts WHERE post_type = 'product_variation';
Recuerde siempre hacer una copia de la base de datos antes de trabajar con consultas también.
He añadido que también se eliminan las variaciones del código original.
Vía WPFluent
Me vino genial, gracias
Me alegro!