Добавьте значение настраиваемого поля в качестве необлагаемого сбора в корзину в Woocommerce

У меня есть заказное поле в кассе, которое добавляет цену в корзину.

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

Все отлично работает Но как я могу сделать это необлагаемым?

1

Решение

Чтобы сделать плату необлагаемой налогом, вам нужно установить для третьего аргумента значение 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,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]