Mặc dù WooC Commerce 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, nhưng vẫn còn thiếu nhiều tùy chọn. Một trong số đó là khả năng tự động xóa hình ảnh sản phẩm trong WooC Commerce khi 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 WooC Commerce, các hình ảnh được liên kết với sản phẩm đó 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 tự động xóa hình ảnh sản phẩm trong WooC Commerce 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 WooC Commerce. 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 WooC Commerce, 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 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 Bán hàng 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 nhanh chóng xóa tất cả các Đơn đặt hàng WooCommerce [Mẹo SQL]
- KHẮC PHỤC các bảng SQL LỚN: wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Tips]
- Làm cách nào để chúng tôi bỏ chọn “Chuyển hàng đến address ”từ trang Woocommerce 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.