MCG*_*MCG 2 wordpress woocommerce hook-woocommerce
我\xc2\xb4m正在研究一种解决方案,以根据客户所在国家/地区\xc2\xa0以及他是否可以提供增值税ID来更改税级。
\n\n该商店位于欧盟,为 B2B 和 B2C 提供服务。\n因此,对于所有可以提供增值税 ID 的欧盟公司,除非来源国家/地区相同,否则不会收取税费。\n对于所有无法提供增值税 ID 的客户,我们将添加当地税费。\n依此类推...
\n\n我找到的所有解决方案仅与购物车交互,但当我以编程方式创建订单时,我需要另一个解决方案。
\n\n有没有办法(可能是一个钩子)在创建订单时更改tax_class ?
\n\n为了进行测试,我尝试添加此方法,但没有成功。它会触发过滤器,但不会更改订单中的税级。
\n\nfunction wc_change_tax_class( $tax_class, $product ) {\n\n $tax_class = 'Zero rate';\n\n return $tax_class;\n\n}\nadd_filter( 'woocommerce_product_get_tax_class', 'wc_change_tax_class', 1, 2 );\nadd_filter( 'woocommerce_product_variation_get_tax_class', 'wc_change_tax_class', 1, 2 );\nRun Code Online (Sandbox Code Playgroud)\n\n我还在创建订单的函数中尝试了这种方法,但结果相同。什么也没发生。
\n\n$woocommerce->customer->set_is_vat_exempt( true );\nRun Code Online (Sandbox Code Playgroud)\n\n谢谢你的帮助!
\n经过几个小时的尝试找到原因后,解决方案非常简单:
我发现的所有解决方案都建议编写'Zero rate'或'Zero Rate'. 取决于 Woocommerce 设置中指定的名称。但对我来说,只有这样写才有效'zero-rate'。因此,更改表类名称并删除 woocommerce 设置中的所有空格,当然还有变量中的空格。
$tax_class = 'zero-rate';
Run Code Online (Sandbox Code Playgroud)
希望这可以节省某人的时间!
| 归档时间: |
|
| 查看次数: |
3418 次 |
| 最近记录: |