Мультивалютность WooCommerce переключает валюту, но цена не обновляется при оформлении заказа - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь переключить валюту с помощью функции WooCommerce Multilingual Multi-Currency , но во время оформления заказа, когда вы меняете страну выставления счета.

Я использую действие woocommerce_checkout_update_order_review, чтобы узнать, когда страна была изменена, а затем

$wcml_mc = new WCML_Multi_Currency();
$wcml_mc->set_client_currency($currency);

, чтобы установить валюту на основе этого. Символ валюты действительно обновляется в запросе Ajax после этого, но для обновления самой цены требуется еще один запрос update_checkout в ajax. Вы можете вызвать это, например, включив / отключив отдельный адрес доставки или выбрав другую страну.

Их документация предлагает также фильтр wcml_client_currency, который, если я жестко закодирую валюту там, он будет работать . Однако я не совсем знаю, как установить это из моего действия с переменной, когда действие woocommerce_checkout_update_order_review часто вызывается через долгое время после первого числа применений фильтра wcml_client_currency.

Is есть лучший способ сделать это? Я подумал о том, чтобы попытаться выполнить еще один запрос ajax и сравнить значения, и, если он неверен, запустить еще одно обновление проверки, но это кажется хакерским. Было бы здорово, если бы это можно было исправить в первом обновлении.

Спасибо за любую помощь !!

...