Borrar todos los productos de woocommerce

Es común encontrarse con este caso, y sin son muchísimos productos puede ser una verdadera agonía ir seleccionando página por página y haciendo click.

Hay varios plugins por ahí que he testeado, pero la verdad que no acaban de funcionar bien del todo. Algunos funcionan para unas webs y otras no… en fin. Si tenéis acceso a la base de datos, por ejemplo desde phpmyadmin, aquí os pongo un script sql que simplemente lo pegais, ejecutais y dejará todos los productos eliminados de forma correcta y sin dejar basura en vuestra 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';
7 comments
  1. Hola buenas tardes, una consulta, este script tambien elimina las imagenes asociadas a los productos? Como se debe hacer de forma correcta, en este caso, por ejemplo para unos 1000 productos. Mucas gracias

  2. Buenos días.
    Como podria hacer lo mismo pero con las categorías?
    Es que me aparecen categorias que en su día cree pero están invisibles

    • Alberto, esto no borrará las categorías. Si lo que quieres es borrar esas categorías que ya no tienen productos aquí te dejo una sentencia sql para ello:

      DELETE a,c FROM wp_terms AS a LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id WHERE c.taxonomy = ‘product_cat’ AND c.COUNT = 0;

      porque entiendo que querrás mantener el resto de categorías. Si quieres borrar todas las categorías del tirón entonces puede usar esto:

      DELETE a,c FROM wp_terms AS a
      LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id
      LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id
      WHERE c.taxonomy = ‘product_cat’

  3. Hola, este codigo elimina las fotografias?
    Mi interes es el de no borrar las fotografias que es un suplicio volver a subirlas a media.
    Un saludo

  4. Hola Vicente. Físicamente no las borra. Lo que borra son los registros en las tablas de la base de datos. Aún así, siempre recomendable hacer una copia de seguridad cuando se toca estas cosas.

Add Comment

Required fields are marked *. Your email address will not be published.