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

جميع المشاكل المعروفة →