Cách xóa tự động hình ảnh sản phẩm trong WooCommerce, cùng với sản phẩm

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ủ).

Hình ảnh sản phẩm trong Thư viện phương tiện
Hình ảnh sản phẩm trong Thư viện phương tiện

Để 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ách xóa tự động hình ảnh sản phẩm trong WooCommerce, cùng với sản phẩm
Xóa bỏ WooCommerce Hình ảnh sản phẩm

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.

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.

Là người yêu công nghệ, tôi rất vui được viết tại StealthSettings.com từ năm 2006. Tôi có kinh nghiệm đa dạng với các hệ điều hành: macOS, Windows và Linux, cũng như trong các ngôn ngữ lập trình và nền tảng blogging (WordPress) và cửa hàng trực tuyến (WooCommerce, Magento, PrestaShop).

Làm thế nào để » WordPress » Cách xóa tự động hình ảnh sản phẩm trong WooCommerce, cùng với sản phẩm

3 thoughts on “ Cách xóa tự động hình ảnh sản phẩm trong WooCommerce, cùng với sản phẩm"

  1. 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

    đáp lại
Để lại một bình luận