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$
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ị.
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ả:
Để 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 Twitter và Facebook
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