Описание woocommerce_calculated_total
— Filter
Хук woocommerce_calculated_total позволяет изменить итоговую сумму заказа перед её выводом на странице оформления заказа. Он срабатывает после расчета итогов корзины и до их отображения, позволяя модифицировать сумму по вашим требованиям
Примеры использования
Пример добавления фиксированной скидки к итоговой сумме:
add_filter('woocommerce_calculated_total', function($total, $cart) {
$discount = 10.00;
return $total - $discount;
}, 10, 2);
В этом примере мы вычитаем 10.00 из итоговой суммы заказа
Пример добавления процента к итоговой сумме для VIP-клиентов:
add_filter('woocommerce_calculated_total', function($total, $cart) {
if (is_user_logged_in() && current_user_can('vip_customer')) {
$total *= 0.90; // 10% скидка для VIP-клиентов
}
return $total;
}, 10, 2);
Здесь мы применяем 10% скидку для пользователей с ролью ‘vip_customer’
Пример установки минимальной суммы заказа:
add_filter('woocommerce_calculated_total', function($total, $cart) {
$minimum_order_amount = 50.00;
if ($total < $minimum_order_amount) {
return $minimum_order_amount; // Устанавливаем минимальную сумму
}
return $total;
}, 10, 2);
В этом примере мы устанавливаем минимальную сумму заказа на уровне 50.00
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить итоговую сумму заказа перед её отображением, например, для применения скидок или минимальных требований к сумме заказа
– Производительность
Будьте внимательны с изменениями, которые могут повлиять на производительность, особенно при сложных расчетах
– Предупреждения
Убедитесь, что изменения не противоречат другим механизмам расчета цен, таким как налоги и доставка
Альтернативы
Тип: action
Этот хук позволяет добавлять дополнительные сборы или скидки к текущей корзине
Используйте его, если нужно добавить дополнительные сборы или скидки, которые не являются частью итоговой суммы