- Trạng thái
- Đang mở
- Được báo cáo cho
- WPML Multilingual & Multicurrency for WooCommerce 5.3.8
- Plugin/giao diện liên quan
- WooCommerce Bookings
- Thẻ chủ đề
- Bug, Compatibility, WCML
Tổng quan về lỗi
Khi sử dụng WooCommerce Bookings với thiết lập đa tiền tệ và cấu hình để tiền tệ thay đổi dựa trên các quốc gia được chọn (không có currency switcher hiển thị), giá không điều chỉnh theo quốc gia được chọn trong quá trình thanh toán. Mặc dù ký hiệu tiền tệ thay đổi, nhưng mức giá thực tế vẫn giữ nguyên, gây ra sự sai lệch trong các số tiền được hiển thị.
Giải pháp tạm thời
Vui lòng đảm bảo có một bản sao lưu toàn bộ trang web của bạn trước khi tiếp tục.
- Mở tệp functions.php trong giao diện của bạn.
- Thêm đoạn mã sau:
add_filter( 'woocommerce_checkout_update_order_review', function() { $cartItems = WC()->cart->get_cart(); if ( is_array( $cartItems ) ) { foreach ( $cartItems as &$cartItem ) { if ( isset( $cartItem['booking'] ) && isset( $cartItem['data'] ) ) { $product = $cartItem['data']; $product->check_in_cart = false; $calculatedCost = WC_Bookings_Cost_Calculation::calculate_booking_cost( $cartItem['booking'], $product ); $cartItem['booking']['_cost'] = $calculatedCost; $cartItem['data']->set_price( $calculatedCost ); } } } } );