Описание woocommerce_cart_calculate_fees
— Action
Хук woocommerce_cart_calculate_fees позволяет добавлять или изменять сборы в корзине в WooCommerce. Он срабатывает во время расчета итоговой суммы в корзине, что позволяет изменять стоимость заказа перед окончательной оплатой
Примеры использования
Пример добавления фиксированного сбора в корзину:
add_action('woocommerce_cart_calculate_fees', function() {
global $woocommerce;
$fee = 10; // фиксированный сбор
$woocommerce->cart->add_fee('Фиксированный сбор', $fee, true, '');
});
В этом примере мы добавляем фиксированный сбор в размере 10 единиц валюты.
Пример добавления сбора на основе суммы корзины:
add_action('woocommerce_cart_calculate_fees', function() {
global $woocommerce;
$cart_total = $woocommerce->cart->total;
if ($cart_total < 50) {
$fee = 5; // сбор для малых заказов
$woocommerce->cart->add_fee('Сбор за малый заказ', $fee, true, '');
}
});
Здесь мы добавляем сбор в 5 единиц валюты, если сумма заказа меньше 50 единиц.
Пример добавления процентного сбора в зависимости от суммы корзины:
add_action('woocommerce_cart_calculate_fees', function() {
global $woocommerce;
$cart_total = $woocommerce->cart->total;
$percentage_fee = 0.1; // 10% от суммы
$fee = $cart_total * $percentage_fee;
$woocommerce->cart->add_fee('Сбор за обслуживание', $fee, true, '');
});
В этом примере добавляется сбор в размере 10% от общей суммы корзины.
— Лучшие практики
– Использование
Используйте этот хук, когда вам нужно изменить или добавить сборы в корзине перед оплатой
– Производительность
Хук выполняется при каждом расчете итоговой суммы, поэтому избегайте сложных вычислений внутри него
– Предупреждения
Убедитесь, что добавляемые сборы логичны и понятны для пользователей, чтобы избежать путаницы
Альтернативы
Тип: action
Этот хук позволяет добавлять дополнительные элементы после итоговой суммы в корзине
Используйте его, если хотите добавить дополнительную информацию или сумму после итоговой стоимости