在Woocommerce中添加自定义字段值作为购物车非应税费用

时间:2018-02-21 09:07:02

标签: php wordpress woocommerce cart fee

我在结帐时有一个自定义字段,可以为购物车增加价格。

$woocommerce->cart->add_fee($price_info['label'], $fee, $taxable, $tax_class);

一切正常。但是,我如何使其免税?

1 个答案:

答案 0 :(得分:2)

要收取非应税费用,您需要将第3个参数设置为false,因此您的代码将为:

WC()->cart->add_fee( $price_info['label'], $fee );

第三个参数的默认值为false,因此不需要纳税。请参阅其源代码:

/**
 * Add additional fee to the cart.
 *
 * @uses WC_Cart_Fees::add_fee
 * @param string $name      Unique name for the fee. Multiple fees of the same name cannot be added.
 * @param float  $amount    Fee amount (do not enter negative amounts).
 * @param bool   $taxable   Is the fee taxable? (default: false).
 * @param string $tax_class The tax class for the fee if taxable. A blank string is standard tax class. (default: '').
 */

public function add_fee( $name, $amount, $taxable = false, $tax_class = '' ) {
    $this->fees_api()->add_fee( array(
        'name'      => $name,
        'amount'    => (float) $amount,
        'taxable'   => $taxable,
        'tax_class' => $tax_class,
    ) );
}
  

现在,如果您使用收取负费用(因此购物车折扣),即使您将其设置为false也需要纳税