- الحالة
- مفتوحة
- أُبلغ عنها لـ
- 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 ); } } } } );