Описание woocommerce_shipping_$THIS->ID_is_available
— Filter
Хук woocommerce_shipping_$THIS->ID_is_available позволяет изменить доступность метода доставки в WooCommerce. Он срабатывает при проверке доступности конкретного метода доставки для корзины или заказа и позволяет контролировать, будет ли данный метод доступен для использования
Примеры использования
Пример отключения метода доставки для определенной страны:
add_filter('woocommerce_shipping_flat_rate_is_available', function($is_available, $package) {
if ($package['destination']['country'] === 'RU') {
return false;
}
return $is_available;
});
В этом примере мы отключаем метод доставки, если страна назначения — Россия
Пример ограничения доступности метода доставки по весу товара:
add_filter('woocommerce_shipping_free_shipping_is_available', function($is_available, $package) {
if ($package['contents_weight'] > 5) {
return false;
}
return $is_available;
});
Здесь мы отключаем бесплатную доставку для товаров с весом более 5 кг
Пример изменения доступности метода в зависимости от времени суток:
add_filter('woocommerce_shipping_local_pickup_is_available', function($is_available, $package) {
if (date('H') < 9 || date('H') > 17) {
return false;
}
return $is_available;
});
Мы отключаем самовывоз вне рабочего времени (с 9 до 17 часов)
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо контролировать доступность методов доставки в зависимости от условий, таких как местоположение или характеристики товара
– Производительность
Проверьте условия, используемые в хуке, чтобы избежать излишних вычислений, которые могут повлиять на производительность
– Предупреждения
Обязательно учитывайте, как изменения могут повлиять на пользовательский опыт, особенно если они могут неожиданно отключить доступные методы доставки
Альтернативы
Тип: filter
Этот хук позволяет изменять список доступных методов доставки в целом
Используйте его, если нужно добавить, удалить или изменить существующие методы доставки