Описание woocommerce_available_variation
— Filter
Хук woocommerce_available_variation позволяет изменять данные о доступных вариациях товара перед их выводом на странице. Он срабатывает при загрузке информации о вариациях и дает возможность модифицировать или добавлять данные к каждой вариации
Примеры использования
Пример изменения цены вариации:
add_filter('woocommerce_available_variation', function($variation, $product) {
if ($variation['price'] > 0) {
$variation['price'] = $variation['price'] * 1.2; // Увеличиваем цену на 20%
}
return $variation;
}, 10, 2);
В этом примере мы увеличиваем цену каждой доступной вариации на 20%
Пример изменения статуса наличия вариации:
add_filter('woocommerce_available_variation', function($variation) {
if ($variation['availability'] === 'в наличии') {
$variation['availability'] = 'Ожидайте'; // Меняем статус наличия
}
return $variation;
});
Здесь мы меняем статус наличия с ‘в наличии’ на ‘Ожидайте’
Пример добавления пользовательского атрибута к вариации:
add_filter('woocommerce_available_variation', function($variation) {
$variation['custom_attribute'] = 'Новое значение'; // Добавляем новый атрибут
return $variation;
});
В этом примере мы добавляем новый атрибут ‘custom_attribute’ к каждой вариации
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить данные о доступных вариациях товара перед их выводом на сайте
– Производительность
Хук может повлиять на производительность, если выполняются сложные вычисления. Старайтесь минимизировать нагрузку
– Предупреждения
Будьте осторожны с изменением цены и наличия, чтобы не вводить пользователей в заблуждение
Альтернативы
Тип: action
Этот хук позволяет добавлять дополнительные поля или функциональность к вариациям товара в админке
Используйте его, если нужно изменить интерфейс управления вариациями в админке