Описание woocommerce_get_shipping_tax
— Filter
Хук woocommerce_get_shipping_tax позволяет изменить расчет налогов на доставку в WooCommerce. Он срабатывает во время получения налогов на доставку для заказа и позволяет настроить значения налогов в зависимости от нужд бизнеса
Примеры использования
Пример изменения налогов на доставку для определенного метода доставки:
add_filter('woocommerce_get_shipping_tax', function($taxes, $shipping_method, $order) {
if ($shipping_method === 'flat_rate') {
$taxes[] = 5.00; // Добавляем налог в 5.00
}
return $taxes;
});
В этом примере мы добавляем налог в 5.00 для метода ‘flat_rate’.
Пример удаления налогов на доставку для бесплатной доставки:
add_filter('woocommerce_get_shipping_tax', function($taxes, $shipping_method, $order) {
if ($shipping_method === 'free_shipping') {
return []; // Возвращаем пустой массив, чтобы удалить налоги
}
return $taxes;
});
Здесь мы удаляем налоги на доставку, если используется метод ‘free_shipping’.
Пример применения разных налогов в зависимости от страны:
add_filter('woocommerce_get_shipping_tax', function($taxes, $shipping_method, $order) {
if ($order->get_billing_country() === 'US') {
$taxes[] = 10.00; // Налог в 10.00 для США
} else {
$taxes[] = 5.00; // Налог в 5.00 для остальных
}
return $taxes;
});
В этом примере мы применяем разные ставки налога в зависимости от страны покупателя.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить налоги на доставку для различных методов или условий
– Производительность
Хук может влиять на производительность, если используется сложная логика для расчета налогов, поэтому старайтесь минимизировать операции в этом хуке
– Предупреждения
Следите за тем, чтобы изменения налога не нарушали законодательные требования и не вводили в заблуждение клиентов
Альтернативы
Тип: filter
Этот хук позволяет изменить налоговый класс для конкретного метода доставки
Используйте его, если нужно задать разные налоговые классы для разных методов доставки