Описание woocommerce_matched_tax_rates
— Filter
Хук woocommerce_matched_tax_rates позволяет изменять массив совпадающих налоговых ставок для товара. Он срабатывает при вычислении налогов на странице корзины или при оформлении заказа, что дает возможность кастомизировать налоговые ставки в зависимости от условий
Примеры использования
Пример добавления дополнительной налоговой ставки для определенной страны:
add_filter('woocommerce_matched_tax_rates', function($tax_rates, $customer, $products) {
if ($customer['country'] === 'FR') {
$tax_rates[] = ['id' => 'FR-2', 'label' => 'Дополнительный НДС', 'rate' => 5, 'compound' => false];
}
return $tax_rates;
});
В этом примере для клиентов из Франции добавляется дополнительная налоговая ставка в 5%
Пример изменения существующей налоговой ставки:
add_filter('woocommerce_matched_tax_rates', function($tax_rates) {
foreach ($tax_rates as &$rate) {
if ($rate['id'] === 'FR-1') {
$rate['rate'] = 15; // Изменяем ставку налога на 15% для 'FR-1'
}
}
return $tax_rates;
});
Этот код изменяет существующую налоговую ставку с идентификатором ‘FR-1’ на 15%
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить или добавить налоговые ставки в зависимости от условий заказа
– Производительность
Хук может повлиять на производительность при большом количестве товаров и налоговых ставок, поэтому используйте его с осторожностью
– Предупреждения
Следите за тем, чтобы изменения не противоречили законодательству о налогах в вашей стране
Альтернативы
Тип: filter
Этот хук позволяет изменять сам массив налоговых ставок в WooCommerce
Используйте его, если вам нужно изменить налоговые ставки в глобальном контексте, а не в зависимости от конкретного заказа