Описание WC_PRODUCT_VARIATION->GET_HOOK_PREFIXshipping_class_id
— Filter
Хук WC_PRODUCT_VARIATION->GET_HOOK_PREFIXshipping_class_id позволяет изменить идентификатор класса доставки для вариаций товаров. Он срабатывает при получении значения класса доставки для конкретной вариации товара и позволяет адаптировать логику доставки в зависимости от бизнес-требований
Примеры использования
Пример изменения идентификатора класса доставки для вариации товара:
add_filter('WC_PRODUCT_VARIATION->GET_HOOK_PREFIXshipping_class_id', function($shipping_class_id, $variation) {
if ($variation->get_id() === 456) {
$shipping_class_id = 789;
}
return $shipping_class_id;
});
В этом примере мы изменяем класс доставки для вариации товара с ID 456 на ID 789
Пример применения логики на основе атрибутов вариации:
add_filter('WC_PRODUCT_VARIATION->GET_HOOK_PREFIXshipping_class_id', function($shipping_class_id, $variation) {
if ($variation->get_attribute('color') === 'red') {
$shipping_class_id = 101;
}
return $shipping_class_id;
});
Здесь мы устанавливаем класс доставки в зависимости от цвета вариации товара
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить класс доставки для вариаций товаров в зависимости от их характеристик или бизнес-логики
– Производительность
Хук должен иметь минимальное влияние на производительность, так как изменения касаются только логики обработки данных
– Предупреждения
Убедитесь, что изменения не конфликтуют с другими частями логики доставки или плагинами
Альтернативы
Тип: filter
Этот хук позволяет изменять класс доставки для самого товара, а не его вариаций
Используйте его, если нужно изменить класс доставки на уровне родительского товара