fbpx

Cómo Eliminar Automáticamente Imágenes de Productos Eliminados en WooCommerce

Tu estas aquí:
Tiempo estimado de lectura: 1 min

Introducción

Cuando se eliminan productos en WooCommerce, las imágenes asociadas a esos productos permanecen en la biblioteca de medios de WordPress. Con el tiempo, esto puede llenar tu servidor con archivos innecesarios, afectando el rendimiento y dificultando la gestión de los medios. Afortunadamente, puedes automatizar la eliminación de estas imágenes al borrar un producto, utilizando un código sencillo que se integra en tu tema o plugin.

Código para Eliminar Imágenes Automáticamente

El siguiente código se encargará de eliminar tanto la imagen destacada como las imágenes de la galería de un producto cuando se elimina dicho producto en WooCommerce:

// Automatically Delete WooCommerce Images After Deleting a Product
add_action( 'before_delete_post', 'delete_product_images', 10, 1 );

function 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 );
        }
    }
}

Instrucciones de Implementación

  1. Ubicación del Código:
    • Agrega este código al archivo functions.php de tu tema hijo
  2. Cómo Funciona:
    • Hook: El código utiliza el hook before_delete_post para ejecutar la función delete_product_images antes de que un producto sea eliminado.
    • Obtener Producto: Se obtiene el producto con el ID del post que se está eliminando.
    • Eliminar Imágenes: Si el producto tiene una imagen destacada o imágenes en la galería, estas serán eliminadas automáticamente mediante la función wp_delete_post.
  3. Beneficios:
    • Mantienes tu biblioteca de medios organizada y libre de archivos innecesarios.
    • Optimizas el espacio en tu servidor y mejoras la gestión de medios en WordPress.

Precauciones

  • Copias de Seguridad: Antes de implementar cualquier código personalizado, asegúrate de realizar una copia de seguridad de tu sitio web.
  • Pruebas en un Entorno de Desarrollo: Siempre prueba este tipo de cambios en un entorno de desarrollo antes de aplicarlo en tu sitio en producción para asegurarte de que todo funcione correctamente.

Conclusión

Automatizar la eliminación de imágenes de productos eliminados es una excelente manera de mantener tu tienda WooCommerce optimizada y organizada. Con el código proporcionado, puedes evitar que tu biblioteca de medios se llene de imágenes no deseadas y mejorar la eficiencia de tu sitio web.

¿Qué te pareció este árticulo?
No me gusta 0
Vistas: 3
¿Hola, en qué te puedo ayudar?