- Status
- Gelöst
- Gemeldet für
- WPML Multilingual & Multicurrency for WooCommerce 5.1.2
- Gelöst in
- WCML 5.2.0
- Zugehöriges Plugin/Theme
- WooCommerce
- Themen-Tags
- Bug
Übersicht über das Problem
Bei Verwendung der Mehrwährungsfunktion von WPML Multilingual & Multicurrency for WooCommerce zeigt das Widget Nach Preis filtern eine ungenaue Preisspanne für Zweitwährungen an. Es zeigt immer die Spanne der Standardwährung an.
Problemumgehung
Bitte erstellen Sie ein vollständiges Backup Ihrer Website, bevor Sie fortfahren.
- Fügen Sie das folgende Snippet in die Datei functions.php Ihres Themes ein:
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 );