设置会话客户计费和发货国家/地区 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...