Xoá ảnh đại diện sản phẩm khỏi gallery trong Single product WooCommerce

Bản thân mình phát triển Woocommerce thấy 1 tính năng không mấy phần ưng ý đó là ảnh đại diện của sản phẩm sẽ được thêm vào thư viện ảnh hay còn gọi là gallery ở trong trang chi tiết sản phẩm của WooCommerce.

Nếu bạn tinh ý ảnh đại diện đã có ở phía trên rồi mà trong gallery phía dưới ảnh đại diện lại có nữa thì thừa thải đi, nên mình giới thiệu cho bạn đoạn code dưới đây để xóa ngay ảnh đại diện của sản phẩm khỏi thư viện ảnh (gallery) trong trang chi tiết sản phẩm Single product WooCommerce

Để xóa ảnh thừa này đi bạn có thể thêm đoạn code phía dưới vào file functions.php trong hoặc theme bạn đang kích hoạt để chạy.

function vutruso_woocommerce_remove_image_from_gallery( $html, $attachment_id ) {
    
    // Kiểm tra xem có phải là trang sản phẩm không
    if ( ! is_product() ) {
        return $html;
    }
    
    global $product;
    
    // Đảm bảo $product tồn tại
    if ( ! $product ) {
        global $post;
        $product = wc_get_product( $post->ID );
    }
    
    // Kiểm tra $product có hợp lệ không
    if ( ! $product || ! is_a( $product, 'WC_Product' ) ) {
        return $html;
    }
    
    // Lấy featured image ID
    $featured_image = $product->get_image_id();
    
    // So sánh với attachment_id hiện tại
    if ( $attachment_id == $featured_image ) {
        return ''; // Loại bỏ featured image khỏi gallery
    }
    
    return $html;
}
add_filter( 'woocommerce_single_product_image_thumbnail_html', 'vutruso_woocommerce_remove_image_from_gallery', 10, 2 );

Hy vọng đoạn code ngắn trên sẽ hữu ích với bạn.

Xin cảm ơn.

5/5 - (62 votes)

Từ khóa
Nếu bạn thấy bài viết có ích bạn có thể chia sẻ bài viết này.
Bạn có thể yêu cầu thêm bài viết tại đây
Đã copy
daotiendung

Tiến Dũng Đào chuyên quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về quản lý máy chủ ảo VPS, Hosting, technical SEO. Đặc biệt yêu thích WordPress với hơn 5 năm phát triển theme và plugin.

Bài viết liên quan