Home WordpressWordPress cơ bản WooCommerce: Hiển thị giá cho Variable Product với chung một giá

WooCommerce: Hiển thị giá cho Variable Product với chung một giá

by admincp

Gần đây, mình có sử dụng variations products cho website bán hàng với WooCommerce eCommerce. Tôi có thêm các thuộc tính của sản phẩm để tạo variation products. Nhưng nhập các sản phẩm variation đều có giá bằng nhau, tuy nhiên có bất cập là không hiển thị giá bên dưới khi khách hàng chọn vào các loại sản phẩm variation. WooCommerce mặc định sẽ không hiển thị giá cho sản phẩm variation nếu tất cả các variation có chung một giá.
Bởi vì không có chênh lệch giữa minimum và maximum prices.
Ví dụ: Chỉ cần ít nhất một trong số các variations có giá khác nhau: 100$, 100$, 120$
show-variation-product-diff-prices

Nhưng nếu variations có giá đều nhau: 100$, 100$, 100$ thì khi chọn vào variation sẽ không hiển thị.
notshow-variation-product-same-prices

Tuy nhiên, bạn có thể bắt cho woocommerce hiển thị giá cho mỗi variation product, bằng cách khai báo thêm giá trị “price_html”. Thêm đoạn code sau đây vào functions.php

// Display Price For Variable Product With Same Variations Prices
add_filter('woocommerce_available_variation', function ($value, $object = null, $variation = null) {
    if ($value['price_html'] == '') {
        $value['price_html'] = '<span class="price">' . $variation->get_price_html() . '</span>';
    }
    return $value;
}, 10, 3);

Khi không tìm thấy độ chênh lệnh giá nào giữa các variation products thì mảng $value chứa thông tin của mỗi variation sẽ không có thuộc tính price_html. Thuộc tính này quyết định giá của variation có được hiển thị hay không hay nếu tồn tại thuộc tính này, woocommerce sẽ hiển thị giá cho variation mỗi khi người dùng lựa chọn.
Kết quả:
show-variation-product-same-prices

Để nhận được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng có thể nhận được sự trợ giúp trên TwitterFacebook

Liên hệ

Công ty chuyên Thiết kế website uy tín nhất Miền Bắc: http://vinastar.net

Hotline tư vấn: 0989 48 3456

Nguồn: Sưu tầm trên internet

You may also like

Leave a Comment