Описание woocommerce_get_variation_price
— Filter
Хук woocommerce_get_variation_price позволяет изменить цену вариации товара в WooCommerce. Он срабатывает при получении цены вариации товара и позволяет настроить ее, например, для применения скидок или дополнительных наценок
Примеры использования
Пример добавления 10% наценки к цене вариации:
add_filter('woocommerce_get_variation_price', function($price, $product, $display) {
return $price * 1.10;
}, 10, 3);
В этом примере мы увеличиваем цену вариации на 10%
Пример применения скидки к цене вариации:
add_filter('woocommerce_get_variation_price', function($price, $product, $display) {
if ($product->get_id() == 123) { // Если ID товара 123
return $price * 0.90; // Скидка 10%
}
return $price;
}, 10, 3);
Здесь мы применяем 10% скидку к цене вариации товара с ID 123
Пример изменения отображаемой цены для вариации:
add_filter('woocommerce_get_variation_price', function($price, $product, $display) {
if ($display) {
return 'Специальная цена: ' . wc_price($price);
}
return $price;
}, 10, 3);
Мы меняем отображаемую цену на специальный текст с форматом валюты
— Лучшие практики
– Использование
Используйте этот хук, когда нужно изменить логику формирования цены вариации товара, например, для акций или специальных предложений
– Производительность
При изменении цен важно учитывать производительность, так как частые изменения могут потребовать дополнительных ресурсов
– Предупреждения
Необходимо проверять условия, чтобы избежать конфликтов с другими фильтрами и плагинами, которые могут также изменять цену
Альтернативы
Тип: filter
Этот хук позволяет изменять цену для всех вариаций товара
Используйте, если нужно изменить цену на уровне товара, а не конкретной вариации