WooCommerce多币种切换货币,但结帐时价格未更新

时间:2020-05-28 07:09:20

标签: wordpress woocommerce wpml

我正尝试使用 WooCommerce Multilingual的多币种功能来切换货币,但是在结帐时更改帐单国家/地区。

我使用woocommerce_checkout_update_order_review操作知道何时更改了国家,然后

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

以此设置货币。货币符号确实会在其后的Ajax请求中更新,但是在价格本身更新之前,它还会在ajax上执行另一个update_checkout请求。例如,您可以通过启用/禁用单独的送货地址或选择其他国家来触发此操作。

他们的文档也提供了一个wcml_client_currency过滤器挂钩,如果我在那里对货币进行硬编码,它将可以正常工作。但是,在应用woocommerce_checkout_update_order_review过滤器的第一次次数之后,经常调用wcml_client_currency动作很长时间时,我不知道如何从变量中设置该值。

是否有更好的方法可以做到这一点?我曾想过尝试做一个进一步的ajax请求并比较值,如果不正确,则触发另一个结帐更新,但这似乎很麻烦。如果它在第一次更新中是正确的,那就太好了。

感谢您的帮助!!

0 个答案:

没有答案
相关问题