Описание woocommerce_checkout_create_order_fee_item
— Action
Хук woocommerce_checkout_create_order_fee_item позволяет изменять сборы при создании заказа во время оформления. Он срабатывает в процессе добавления сборов в объект заказа, что дает возможность модифицировать или добавлять дополнительные параметры к сборам перед тем, как они будут сохранены в базе данных
Примеры использования
Пример изменения названия сбора перед сохранением:
add_action('woocommerce_checkout_create_order_fee_item', function($fee_item, $request, $order) {
if ($request['name'] === 'Доставка') {
$fee_item->set_name('Доставка (экспресс)');
}
});
В этом примере мы изменяем название сбора ‘Доставка’ на ‘Доставка (экспресс)’ перед сохранением
Пример изменения суммы сбора в зависимости от условий:
add_action('woocommerce_checkout_create_order_fee_item', function($fee_item, $request, $order) {
if ($request['amount'] > 100) {
$fee_item->set_total($fee_item->get_total() * 0.9); // Применяем 10% скидку
}
});
Здесь мы применяем 10% скидку на сбор, если его сумма превышает 100
Пример добавления дополнительного сбора в заказ:
add_action('woocommerce_checkout_create_order_fee_item', function($fee_item, $request, $order) {
if ($request['name'] === 'Дополнительный сбор') {
$fee_item->set_total($fee_item->get_total() + 5); // Увеличиваем сумму сбора на 5
}
});
Мы добавляем дополнительный сбор в заказ, увеличивая его сумму на 5
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить или модифицировать сборы во время оформления заказа
– Производительность
Хук не должен негативно сказываться на производительности, но рекомендуется избегать сложных операций внутри него
– Предупреждения
Будьте осторожны при изменении значений сборов, чтобы избежать путаницы для пользователей и неправильных расчетов
Альтернативы
Тип: action
Этот хук позволяет изменять строки товаров в заказе, что может быть полезно для изменения параметров самих товаров
Используйте его, если необходимо модифицировать параметры самих товарных позиций, а не сборов