WPML
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 );
    				}
    			}
    		}
    	} );

Tất cả các lỗi đã ghi nhận →