Описание woocommerce_order_get_tax_totals
— Filter
Хук woocommerce_order_get_tax_totals позволяет изменить налоговые суммы, связанные с заказом в WooCommerce. Он срабатывает при получении информации о налогах, когда WooCommerce обрабатывает данные заказа, и дает возможность модифицировать массив налоговых сумм перед его выводом
Примеры использования
Пример изменения названия налога для заказа:
add_filter('woocommerce_order_get_tax_totals', function($taxes, $order) {
foreach ($taxes as &$tax) {
if ($tax['label'] === 'НДС') {
$tax['label'] = 'Налог на добавленную стоимость';
}
}
return $taxes;
}, 10, 2);
Здесь мы изменяем название налога ‘НДС’ на ‘Налог на добавленную стоимость’
Пример изменения суммы налога:
add_filter('woocommerce_order_get_tax_totals', function($taxes, $order) {
foreach ($taxes as &$tax) {
if ($tax['rate_id'] === 'VAT') {
$tax['amount'] += 10.00; // Добавляем 10 к сумме налога
}
}
return $taxes;
}, 10, 2);
В этом примере мы увеличиваем сумму налога для ставки ‘VAT’ на 10
Пример удаления составного налога:
add_filter('woocommerce_order_get_tax_totals', function($taxes, $order) {
foreach ($taxes as $key => $tax) {
if ($tax['compound']) {
unset($taxes[$key]); // Удаляем составной налог
}
}
return $taxes;
}, 10, 2);
Здесь мы удаляем все составные налоги из массива налоговых сумм заказа
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить налоговые суммы в заказах WooCommerce перед их выводом
– Производительность
Хук может влиять на производительность, если обрабатывается большой объем данных, поэтому старайтесь минимизировать количество операций в циклах
– Предупреждения
Обязательно проверяйте, что изменения не нарушают налоговую логику и соответствуют законодательству
Альтернативы
Тип: action
Этот хук позволяет выполнять действия сразу после расчета налогов и сумм заказа
Используйте его, если нужно выполнять дополнительные операции после расчета, но не изменять сами суммы