- สถานะ
- เปิด
- รายงานสำหรับ
- 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 ); } } } } );