如何解决设置会话客户计费和发货国家/地区 WooCommerce
我的 WooCommerce 网站中有 5 种不同的语言 (WPML)。 是否可以为每种语言设置帐单和运输国家/地区标准? 因为我也有不同的税率,如果商店中的每种语言都使用相同的帐单和发货国家/地区,则在查看产品时基本上会显示错误的价格。
我找到了这个代码:
add_filter( 'default_checkout_billing_country','njengah_default_checkout_country',10,1 );
function njengah_default_checkout_country( $country ) {
// If the user already exists,don't override country
if ( WC()->customer->get_is_paying_customer() ) {
return $country;
}
return 'US'; // Override default to United States (an example)
}
但此代码不会覆盖我想要实现的访问者地理位置设置。
在 WPML 论坛上发现另一个问题描述了这个问题: https://wpml.org/forums/topic/on-language-switch-the-woocommerce-country-should-switch-tax-issue/
解决方案:
我在 WPML 论坛上找到了一个解决方法并将其包裹起来
if (!is_checkout)
所以在店里是正确的,但在结账时计算的是实际税。
function filter_woocommerce_calc_tax( $taxes,$price,$rates,$price_includes_tax,$suppress_rounding )
{
if (!is_checkout()) {
$current_lang = apply_filters( 'wpml_current_language',NULL );
if($current_lang == 'fr'){
foreach ($taxes as $key => $tax){
$vat = 20 /100;
$taxes[$key]= $price * $vat;
}
}
if($current_lang == 'de'){
foreach ($taxes as $key => $tax){
$vat = 19 /100;
$taxes[$key]= $price * $vat;
}
}
return $taxes;
}
};
add_filter( 'woocommerce_calc_tax','filter_woocommerce_calc_tax',5 );
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。