Ngay cả khi WooCommerce là một nền tảng mua sắm rất mạnh mẽ đã phát triển rất nhiều trong những năm gần đây, vẫn còn thiếu nhiều lựa chọn. Một trong số đó là khả năng tự động xóa hình ảnh sản phẩm WooCommerce khi một sản phẩm bị xóa.
Chính xác hơn, khi chúng tôi xóa một sản phẩm khỏi WooCommerce, những hình ảnh được liên kết với nó vẫn còn trên máy chủ. Một cửa hàng trực tuyến với hàng nghìn sản phẩm sẽ thu thập một số lượng hình ảnh đáng kể. Nếu những ảnh này không bị xóa cùng với sản phẩm, thì theo thời gian, nó sẽ chiếm một lượng dung lượng lưu trữ đáng kể.
Khi vào WooCommerce một sản phẩm mới được thêm vào, ít nhất hình ảnh trình bày sẽ được nhân đôi ít nhất ba - bốn lần, với các kích cỡ khác nhau. Có vài themes bởi Woo có thể tạo tối đa 10 bản sao của ảnh gốc, cho các bố cục khác nhau.
Giải pháp tốt nhất để tối ưu hóa không gian bị chiếm bởi hình ảnh sản phẩm trên máy chủ lưu trữ web là xóa chúng cùng với sản phẩm bị xóa khỏi cửa hàng trực tuyến.
Cách xóa tự động hình ảnh sản phẩm trong WooCommerce khi bạn xóa sản phẩm
Tôi có một cửa hàng trực tuyến có lanh media library 23.567 hình ảnh, hầu hết các sản phẩm WooCommerce. Nếu tôi xóa các sản phẩm không còn trong kho, hình ảnh sẽ vẫn còn trong thư viện phương tiện (trên máy chủ).

Để tự động xóa hình ảnh sản phẩm trong WooCommerce, cùng với các sản phẩm, tất cả những gì bạn phải làm là thêm đoạn mã sau vào tệp functions.php của chủ đề đang hoạt động:
* Rất khuyến khích tạo bản sao lưu của thư mục trước 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 );
}
}
}
Thật tốt khi biết rằng sau khi bạn lưu đoạn mã trên vào functions.php
, hình ảnh sản phẩm sẽ tự động bị xóa, cùng với sản phẩm. Khi các sản phẩm cũng bị xóa khỏi "Trash".

Cùng với các sản phẩm bị xóa khỏi cửa hàng trực tuyến 3336 hình ảnh cũng đã bị xóa có liên quan. Một con số khá quan trọng sẽ chiếm dung lượng không cần thiết trên máy chủ lưu trữ web.
- Cách tùy chỉnh trang "Không tìm thấy sản phẩm nào phù hợp với lựa chọn của bạn" trong WooCommerce - Tối Ưu Hóa Doanh Số Bán Hàng Trên Cửa Hàng Trực Tuyến
- Cách làm sạch wp_ lớnoptions trong SQL - Chuyển tiếp, wpseo_sitemap _cache_validator
- Cách xóa nhanh toàn bộ đơn hàng (Orders) khỏi WooCommerce [Mẹo SQL]
- KHẮC PHỤC các bảng SQL KHỔNG LỒ: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Lời khuyên]
- Cách bỏ chọn mặc định “Ship to different address” từ trang Wooc Commerce Checkout
Không sử dụng tùy chọn này nếu bạn sử dụng cùng một hình ảnh cho một số sản phẩm. Chúng sẽ tự động bị xóa nếu sản phẩm chứa chúng bị xóa.
Điều này đã giúp, cảm ơn!
Grazie mille, bạn đã giải quyết một vấn đề lớn cho tôi.
Genau là ich gesucht bzw. cần 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