Описание woocommerce_shipping_method_add_rate
— Action
Хук woocommerce_shipping_method_add_rate позволяет добавлять или изменять методы доставки в WooCommerce. Он срабатывает в процессе расчета стоимости доставки, когда WooCommerce добавляет новые методы доставки в корзину. Это позволяет разработчикам модифицировать или добавлять новые тарифы на доставку в зависимости от различных условий
Примеры использования
Пример добавления нового тарифа на доставку:
add_action('woocommerce_shipping_method_add_rate', function($rate, $shipping_method, $package) {
if ($shipping_method === 'flat_rate') {
$rate['cost'] += 5.00; // Увеличиваем стоимость на 5.00
}
return $rate;
});
В этом примере мы увеличиваем стоимость фиксированной ставки на 5.00
Пример добавления нового метода доставки:
add_action('woocommerce_shipping_method_add_rate', function($rate, $shipping_method, $package) {
if ($shipping_method === 'free_shipping') {
$rate['cost'] = 0; // Устанавливаем бесплатную доставку
}
return $rate;
});
Здесь мы добавляем тариф для бесплатной доставки
Пример изменения названия метода доставки:
add_action('woocommerce_shipping_method_add_rate', function($rate, $shipping_method, $package) {
if ($shipping_method === 'flat_rate') {
$rate['label'] = 'Доставка по фиксированной ставке';
}
return $rate;
});
В этом примере мы изменяем название метода доставки на ‘Доставка по фиксированной ставке’
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо модифицировать или добавлять тарифы на доставку в зависимости от условий
– Производительность
Хук может влиять на производительность, если используется для сложных расчетов или больших объемов данных
– Предупреждения
Обратите внимание на правильность работы с массивом $rate, чтобы избежать ошибок в расчетах
Альтернативы
Тип: filter
Этот хук позволяет фильтровать доступные методы доставки
Используйте его, если вам нужно изменить доступные методы доставки на основе условий, а не только добавлять тарифы