WPML
สถานะ
เปิด
รายงานสำหรับ
WPML Multilingual & Multicurrency for WooCommerce 5.3.8
ปลั๊กอิน/ธีมที่เกี่ยวข้อง
WooCommerce Bookings
แท็กหัวข้อ
Bug, Compatibility, WCML

ภาพรวมของปัญหา

เมื่อใช้งาน WooCommerce Bookings ร่วมกับการตั้งค่าหลายสกุลเงิน และกำหนดค่าให้สกุลเงินเปลี่ยนตามประเทศที่เลือก (โดยไม่มีตัวสลับสกุลเงินที่มองเห็นได้) ราคาจะไม่ปรับตามประเทศที่เลือกในระหว่างขั้นตอนการชำระเงิน แม้ว่าสัญลักษณ์สกุลเงินจะเปลี่ยนไป แต่ราคาจริงยังคงเดิม ซึ่งทำให้เกิดความคลาดเคลื่อนในจำนวนเงินที่แสดง

วิธีแก้ปัญหาชั่วคราว

โปรดตรวจสอบให้แน่ใจว่าคุณได้สำรองข้อมูลเว็บไซต์ทั้งหมดก่อนดำเนินการต่อ


  • เปิดไฟล์ functions.php ของธีมของคุณ

  • เพิ่มโค้ดต่อไปนี้:
    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 );
    				}
    			}
    		}
    	} );

ปัญหาที่ทราบแล้วทั้งหมด →