WPML
סטטוס
נפתר
דווח עבור
WPML Multilingual & Multicurrency for WooCommerce 5.1.2
נפתר בגרסה
WCML 5.2.0
תוסף/ערכת עיצוב קשורים
WooCommerce
תגיות נושא
Bug

סקירה כללית של התקלה

בעת שימוש בתכונת ריבוי המטבעות של WPML Multilingual & Multicurrency for WooCommerce, הווידג’ט סנן לפי מחיר מציג טווח מחירים לא מדויק עבור מטבעות משניים. הוא תמיד מציג את הטווח של מטבע ברירת המחדל.

פתרון עוקף

אנא הקפד לבצע גיבוי מלא של האתר שלך לפני שתמשיך.


  • הוסף את קטע הקוד הבא לקובץ functions.php של ערכת העיצוב שלך:
    use function WCML\functions\getClientCurrency;
    use function WPML\Container\make;
    
    add_filter( 'rest_request_after_callbacks', function( $response, $handler, $request ) {
    
    	if (
    		wcml_is_multi_currency_on()
    		&& 'GET' === $request->get_method()
    		&& 'products/collection-data' === substr( $request->get_route(), -24 )
    		&& ! empty( $request['calculate_price_range'] )
    	) {
    		$mc = make( \WCML_Multi_Currency::class );
    		$from_currency = $mc->get_default_currency();
    		$to_currency = getClientCurrency();
    		$data = $response->get_data();
    		$data['price_range']->min_price = $mc->prices->convert_price_amount( $mc->prices->unconvert_price_amount( $data['price_range']->min_price, $from_currency ), $to_currency );
    		$data['price_range']->max_price = $mc->prices->convert_price_amount( $mc->prices->unconvert_price_amount( $data['price_range']->max_price, $from_currency ), $to_currency );
    		$response->set_data( $data );
    	}
    
    	return $response;
    }, 10, 3 );

כל התקלות הידועות →