Aunque WooCommerce es una plataforma de compras muy robusta que se ha desarrollado mucho en los últimos años, todavía faltan muchas opciones. Una de ellas es la posibilidad de eliminar automáticamente las imágenes del producto en WooCommerce cuando se elimina un producto.
Más precisamente, cuando eliminamos un producto de WooCommerce, las imágenes asociadas a él permanecen en el servidor. Una tienda online con miles de productos reunirá una cantidad importante de imágenes. Si estas imágenes no se eliminan junto con los productos, con el tiempo ocuparán una cantidad significativa de espacio de almacenamiento.
Cuando en WooCommerce se agrega un nuevo producto, al menos la imagen de presentación se duplicará al menos tres o cuatro veces, en diferentes tamaños. Hay algunos themes by Woo que puede hacer hasta 10 copias de la imagen original, para diferentes diseños.
La mejor solución para optimizar el espacio que ocupan las imágenes de los productos en el servidor de alojamiento web es eliminarlas junto con los productos eliminados de la tienda online.
Cómo eliminar automáticamente imágenes de productos en WooCommerce cuando eliminas productos
Tengo una tienda online que tiene lino. media library 23.567 imágenes, la mayoría de los productos de WooCommerce. Si tuviera que eliminar los productos que ya no están en stock, las imágenes permanecerían en la biblioteca de medios (en el servidor).

Para eliminar automáticamente las imágenes de productos en WooCommerce, junto con los productos, todo lo que tienes que hacer es agregar el siguiente código al archivo functions.php del tema activo:
*Es muy recomendable hacer una copia de seguridad de la carpeta de antemano wp-content/uploads
.
// 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 );
}
}
}
Es bueno saber que después de guardar el código anterior en functions.php
, las imágenes del producto se eliminarán automáticamente, junto con el producto. Cuando los productos también se eliminan de "Trash".

Junto con los productos retirados de la tienda online También se eliminaron 3336 imágenes. asociado. Un número bastante importante, que habría ocupado espacio innecesario en el servidor de alojamiento web.
- Cómo personalizar la página "No se encontraron productos que coincidan con su selección" en WooCommerce - Optimización de ventas de la tienda en línea
- Cómo limpiar enormes wp_options en SQL - Transitorios, wpseo_sitemap _cache_validator
- Cómo eliminar rápidamente todos los pedidos de WooCommerce [Consejos SQL]
- CORREGIR ENORMES tablas SQL: wp_actionscheduler_actions & wp_actionscheduler_logs [Consejos de WooCommerce]
- Cómo desmarcar "Enviar a diferentes address "de la página de pago de Woocommerce
No utilice esta opción si utiliza las mismas imágenes para varios productos. Se eliminarán automáticamente si se elimina un producto en el que están presentes.