购物车页面中插件的货币转换错误
Currency conversion by plugin is wrong in Cart page
希望有人能帮我解决这个问题!
我使用这个插件 WooCommerce Currency Switcher by PluginUs.NET. 一切正常,直到我进入购物车页面,那里的价格是第二次转换器,首先在添加到购物车之前转换,然后在购物车页面内。
所以我在那里搜索支持页面,发现这个主题暗示了这个 solution 但是当我添加代码时,一切仍然相同,可能是因为代码是三年前制作的,现在不是了新的 Woocommerce 版本支持,这是建议的代码:
add_action('woocommerce_before_calculate_totals', 'fix_currency_conversion');
function fix_currency_conversion($cart_object){
global $WOOCS;
$cur_currency = $WOOCS->current_currency;
$currencies = $WOOCS->get_currencies();
$conversion_rate = $currencies[$WOOCS->current_currency]['rate'];
if($cur_currency == 'HKD'){
foreach ( $cart_object->cart_contents as $cart_item_key => $cart_item ) {
$cart_item['data']->price = $cart_item['data']->price / $conversion_rate;
}
}
}
来晚了,但对其他人有帮助。
您需要更改:
$cart_item['data']->price = $cart_item['data']->price / $conversion_rate;
与
$cart_item['data']->set_price($cart_item['data']->price / $conversion_rate);
希望有人能帮我解决这个问题! 我使用这个插件 WooCommerce Currency Switcher by PluginUs.NET. 一切正常,直到我进入购物车页面,那里的价格是第二次转换器,首先在添加到购物车之前转换,然后在购物车页面内。
所以我在那里搜索支持页面,发现这个主题暗示了这个 solution 但是当我添加代码时,一切仍然相同,可能是因为代码是三年前制作的,现在不是了新的 Woocommerce 版本支持,这是建议的代码:
add_action('woocommerce_before_calculate_totals', 'fix_currency_conversion');
function fix_currency_conversion($cart_object){
global $WOOCS;
$cur_currency = $WOOCS->current_currency;
$currencies = $WOOCS->get_currencies();
$conversion_rate = $currencies[$WOOCS->current_currency]['rate'];
if($cur_currency == 'HKD'){
foreach ( $cart_object->cart_contents as $cart_item_key => $cart_item ) {
$cart_item['data']->price = $cart_item['data']->price / $conversion_rate;
}
}
}
来晚了,但对其他人有帮助。
您需要更改:
$cart_item['data']->price = $cart_item['data']->price / $conversion_rate;
与
$cart_item['data']->set_price($cart_item['data']->price / $conversion_rate);