Налоговые настройки:
Включить налоговые ставки и расчеты — отмечен галочкой.
Цены вводятся с налогом: Да, я буду указывать цены с учетом налога.
Налог рассчитывается на основе: Платежный адрес клиента
Доставка
Налоговый класс: налог @ 5 %
Отображение цен в магазине: с учетом налога
Отображение цен во время корзины и оформления заказа: с учетом налога
Отображать итоговые суммы налогов: постатейно
Это настройки, установленные мной, и я не могу вносить какие-либо изменения в них в соответствии со своими требованиями.
Код: Выделить всё
// Adjust the coupon's taxable status
add_filter( 'woocommerce_coupon_get_discount_amount', 'set_coupon_taxable_false', 10, 5 );
function set_coupon_taxable_false( $discount, $discounting_amount, $cart_item, $coupon, $cart ) {
if ( $coupon === 'next50' ) {
// Here you can manipulate the discount or the taxable status
// Assuming you want to make it a non-taxable fee
$fee = new WC_Cart_Fee();
$fee-\>set_id( 'next50' );
$fee-\>set_amount( -$discount );
$fee-\>set_taxable( false ); // Set to false for this coupon
$fee-\>set_total( -$discount );
// Add the fee to the cart
WC()->cart->add_fee( $fee->get_name(), $fee->get_amount(), $fee->is_taxable(), '' );
// Optionally, return 0 if you want to avoid stacking discounts
return 0;
}
return $discount;
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... oupon-code