Woocommerce - 根据运输方式计算税收
Woocommerce - Calculate Tax Based on Shipping Method
我如何根据客户在 Woocommerce 结账时选择的运输方式收取不同的税率?我的商店有一种运输选项,可以让国际客户避免在泰国这里收取的 7% 增值税。
根据 Woocommerce 文档,以下是在选择“本地取件”作为送货选项时如何禁用税收:
add_filter( 'woocommerce_apply_base_tax_for_local_pickup', '__return_false' );
但是如何禁用自定义运输选项的税费?
编辑:我已经开始制定解决方案,但我可以在第 2 行中使用一些帮助。即如何获取当前的送货方式?
function remove_tax_for_fob( $cart ) {
$ok_remove = get_shipping_method( 'FOB' );
if ($ok_remove){
$cart->remove_taxes();
}
return $cart;
}
add_action( 'woocommerce_calculate_totals', 'remove_tax_for_fob' );
尝试以下方法,但需要一些润色
add_action( 'woocommerce_review_order_before_submit','custom_review_order_before_submit');
function custom_review_order_before_submit() {
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];
if( "FOB" == $chosen_shipping ) {
WC()->customer->is_vat_exempt = true;
} else {
WC()->customer->is_vat_exempt = false;
}
}
这是解决方案。谢谢你的帮助,Anand Shah!
/* Remove tax from cart for FOB orders */
function remove_tax_for_fob( $cart ) {
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];
if($chosen_shipping =='FOB') {
$cart->remove_taxes();
}
return $cart;
}
add_action( 'woocommerce_calculate_totals', 'remove_tax_for_fob' );
我如何根据客户在 Woocommerce 结账时选择的运输方式收取不同的税率?我的商店有一种运输选项,可以让国际客户避免在泰国这里收取的 7% 增值税。
根据 Woocommerce 文档,以下是在选择“本地取件”作为送货选项时如何禁用税收:
add_filter( 'woocommerce_apply_base_tax_for_local_pickup', '__return_false' );
但是如何禁用自定义运输选项的税费?
编辑:我已经开始制定解决方案,但我可以在第 2 行中使用一些帮助。即如何获取当前的送货方式?
function remove_tax_for_fob( $cart ) {
$ok_remove = get_shipping_method( 'FOB' );
if ($ok_remove){
$cart->remove_taxes();
}
return $cart;
}
add_action( 'woocommerce_calculate_totals', 'remove_tax_for_fob' );
尝试以下方法,但需要一些润色
add_action( 'woocommerce_review_order_before_submit','custom_review_order_before_submit');
function custom_review_order_before_submit() {
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];
if( "FOB" == $chosen_shipping ) {
WC()->customer->is_vat_exempt = true;
} else {
WC()->customer->is_vat_exempt = false;
}
}
这是解决方案。谢谢你的帮助,Anand Shah!
/* Remove tax from cart for FOB orders */
function remove_tax_for_fob( $cart ) {
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];
if($chosen_shipping =='FOB') {
$cart->remove_taxes();
}
return $cart;
}
add_action( 'woocommerce_calculate_totals', 'remove_tax_for_fob' );