Описание woocommerce_variation_prices_array
— Filter
Хук woocommerce_variation_prices_array позволяет изменить массив цен для вариаций товара в WooCommerce. Он срабатывает при получении цен вариаций товара и позволяет изменять, добавлять или удалять цены в зависимости от ваших нужд
Примеры использования
Пример добавления дополнительной скидки к цене вариации:
add_filter('woocommerce_variation_prices_array', function($prices, $product) {
foreach ($prices as &$price) {
if (isset($price['regular_price'])) {
$price['sale_price'] = $price['regular_price'] * 0.9; // 10% скидка
}
}
return $prices;
});
Этот пример добавляет 10% скидку на обычные цены вариаций
Пример изменения цены со скидкой для определенной вариации:
add_filter('woocommerce_variation_prices_array', function($prices, $product) {
$variation_id = 123; // ID вариации
if ($product->get_id() === $variation_id) {
$prices[$variation_id]['sale_price'] = 25.00; // Устанавливаем новую цену со скидкой
}
return $prices;
});
Здесь мы изменяем цену со скидкой для вариации с ID 123
Пример удаления цены со скидкой у всех вариаций:
add_filter('woocommerce_variation_prices_array', function($prices, $product) {
foreach ($prices as &$price) {
unset($price['sale_price']); // Удаляем цену со скидкой
}
return $prices;
});
Этот пример удаляет цену со скидкой у всех вариаций товара
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить или настроить цены вариаций товаров в WooCommerce
– Производительность
Изменения, сделанные через этот хук, не должны значительно влиять на производительность, но могут увеличивать время обработки, если обрабатывается много вариаций
– Предупреждения
Убедитесь, что изменения не приводят к путанице с ценами, чтобы избежать недовольства покупателей
Альтернативы
Тип: filter
Этот хук позволяет получать цены вариаций до их вывода, что может быть полезно для изменения логики получения цен
Используйте его, если нужно изменить способ получения цен вариаций перед их отображением