Описание woocommerce_package_rates
— Filter
Хук woocommerce_package_rates позволяет изменить массив доступных методов доставки перед отображением на странице оформления заказа. Он срабатывает во время расчета стоимости доставки для корзины и позволяет модифицировать или фильтровать доступные тарифы доставки.
Примеры использования
Пример удаления метода доставки с определённым ID:
add_filter('woocommerce_package_rates', function($rates, $package) {
unset($rates['flat_rate:1']);
return $rates;
});
В этом примере мы удаляем метод доставки с ID ‘flat_rate:1’.
Пример изменения стоимости метода доставки:
add_filter('woocommerce_package_rates', function($rates, $package) {
if (isset($rates['flat_rate:1'])) {
$rates['flat_rate:1']->cost = 15.00;
}
return $rates;
});
Здесь мы изменяем стоимость метода доставки ‘flat_rate:1’ на 15.00.
Пример добавления нового метода доставки:
add_filter('woocommerce_package_rates', function($rates, $package) {
$rates['custom_shipping'] = new WC_Shipping_Rate('custom_shipping', 'Кастомная доставка', 20.00, '', 'custom');
return $rates;
});
В этом примере мы добавляем новый метод доставки с ID ‘custom_shipping’.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить доступные методы доставки на странице оформления заказа
– Производительность
Изменения могут повлиять на производительность, если хук используется для сложных расчетов
– Предупреждения
Убедитесь, что изменения не конфликтуют с другими методами доставки или плагинами
Альтернативы
Тип: filter
Хук, который позволяет изменять доступные методы доставки на уровне настройки плагина
Используйте его, если нужно изменить методы доставки на глобальном уровне