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. 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 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 en Tiendas Online
- Cómo limpiar enormes wp_options en SQL - Transitorios, wpseo_sitemap _cache_validator
- Cómo eliminar rápidamente todos los pedidos (Órdenes) de WooCommerce [Consejos de SQL]
- REVISIÓN de tablas SQL ENORMES: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Consejos]
- Cómo desmarcar el valor predeterminado “Ship to different address” desde la página de pago un 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.
Esto ayudó, ¡gracias!
Grazie mille, me resolviste un gran problema.
Genau fue ich gesucht bzw. necesita habe 👍
Das PlugIn das ich bisher genutzt habe, funktionierte nicht so versältigte wie dieses Snippet
Vielen Dank, das erspart mir einen Haufen Arbeit und viel Zeit