Cách tự động xóa ảnh sản phẩm trong WooCommerce, kèm theo sản phẩm

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

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 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ách tự động xóa ảnh sản phẩm trong WooCommerce, kèm theo sản phẩm
Xóa hình ảnh sản phẩm WooC Commerce

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àm thế nào để » WordPress » Cách tự động xóa ảnh sản phẩm trong WooCommerce, kèm theo sản phẩm

Đam mê công nghệ, thích test và viết các bài hướng dẫn về hệ điều hành macOS, Linux, Windows, Về WordPress, WooCommerce và định cấu hình máy chủ web LEMP (Linux, NGINX, MySQL và PHP). Tôi viết tiếp StealthSettings.com từ năm 2006 và một vài năm sau, tôi bắt đầu viết trên iHowTo.Tips hướng dẫn và tin tức về các thiết bị trong hệ sinh thái Apple: iPhone, iPad, Apple Xem, HomePod, iMac, MacBook, AirPods và phụ kiện.

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