对Woocommerce中超过$ 1000的澳大利亚订单应用零税

时间:2019-01-17 23:43:56

标签: php wordpress woocommerce cart tax

由于新的澳大利亚商品服务税规则,我需要能够对价值低于$ 1000的澳大利亚客户的销售商品收取标准商品服务税,而对价值超过$ 1000的销售商品征收零关税商品服务税(因为这是由澳大利亚海关处理的)。< / p>

我想使用Set different Tax rates conditionally based on cart item prices in Woocommerce答案代码,该代码可根据我的需要进行调整,以澳大利亚发货地址为订单目标。

如果有人知道我该怎么做,请告诉我。

1 个答案:

答案 0 :(得分:1)

使用与链接的答案相似的代码,您可以尝试以下针对澳大利亚客户的购物车小计,该小计的小计是 $1000

add_action( 'woocommerce_before_calculate_totals', 'apply_conditionally_zero_tax_rate', 10, 1 );
function apply_conditionally_zero_tax_rate( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
        return;

    // Targeting australia billing country only
    if ( WC()->customer->get_billing_country() !== 'AU' )
        return;

    $defined_amount = 1000;
    $subtotal = 0;

    // Loop through cart items (1st loop - get cart subtotal)
    foreach ( $cart->get_cart() as $cart_item ) {
        $subtotal += $cart_item['line_total'];
    }

    // Targeting cart subtotal up to the "defined amount"
    if ( $subtotal < $defined_amount )
        return;

    // Loop through cart items (2nd loop - Change tax rate)
    foreach ( $cart->get_cart() as $cart_item ) {
        $cart_item['data']->set_tax_class( 'zero-rate' );
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。