Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Eliminar automáticamente las imágenes al borrar un producto de WooCommerce

En versiones actuales de WooCommerce cuando borras un producto, aún se mantienen sus imágenes, por lo que si quieres eliminar estas imágenes tendrás que hacerlo de manera manual.

 

Generalidades

Lo que haremos será que tras eliminar un producto desde la administración de WooCommerce, automáticamente se eliminen todas las imágenes asociadas, tanto imágenes de galería como imagen destacada.

Existen algunos plugins para realizar esto, sin embargo veremos cómo realizarlo a través de un Snippet de código.
Eliminar imágenes de producto automaticamente

 

Código para eliminar automáticamente las imágenes

Puedes agregar el siguiente código como parte del archivo functions.php de tu tema hijo o usando algún plugin de Snippets.

add_action('before_delete_post', 'dcms_delete_product_images', 10, 1);

function dcms_delete_product_images($post_id)
{
        $product = wc_get_product($post_id);

        if ( ! $product) return;

        $featured_image_id = $product->get_image_id();
        $image_galleries_id = $product->get_gallery_image_ids();

        if (!empty($featured_image_id)) {
                wp_delete_post($featured_image_id);
        }

        if (!empty($image_galleries_id)) {
                foreach ($image_galleries_id as $single_image_id) {
                        wp_delete_post($single_image_id);
                }
        }
}

En el código anterior:

  • Usamos el Hook before_delete_post que hace referencia a la función dcms_delete_product_images
  • Dentro de la función comprobamos si el registro que se esta eliminando es un producto
  • Obtenemos el ID de la imagen destacada y también los IDs de las imágenes de galerías
  • Eliminamos los IDs obtenidos con la función wp_delete_post

 

Conclusión

Como has podido comprobar, puedes evitar el trabajo de eliminar manualmente las imágenes asociadas a un producto y hacerlo de manera automática con código, de esta forma además puedes liberar espacio de imágenes innecesarias en tu cuenta de hosting.

 

¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores.

Suscríbete a DecodeCMS:  

 

La entrada Eliminar automáticamente las imágenes al borrar un producto de WooCommerce es un artículo reciente del sitio DecodeCMS.

Enregistrer un commentaire

0 Commentaires