Описание woocommerce_variation_prices
— Filter
Хук woocommerce_variation_prices позволяет изменять цены вариаций товаров в WooCommerce. Он срабатывает на этапе вывода цен вариаций на страницах товаров и дает возможность адаптировать цены в зависимости от различных условий
Примеры использования
Пример изменения обычной цены вариации товара:
add_filter('woocommerce_variation_prices', function($price, $product) {
if ($product->get_id() === 123) {
$price['regular_price'] = '150';
}
return $price;
}, 10, 2);
В этом примере мы изменяем обычную цену вариации товара с ID 123 на 150
Пример изменения цены распродажи для вариации товара:
add_filter('woocommerce_variation_prices', function($price, $product) {
if ($product->get_id() === 456) {
$price['sale_price'] = '120';
}
return $price;
}, 10, 2);
Здесь мы устанавливаем цену распродажи для вариации товара с ID 456 на 120
Пример динамического изменения цен в зависимости от атрибута:
add_filter('woocommerce_variation_prices', function($price, $product) {
$attributes = $product->get_attributes();
if (isset($attributes['color']) && $attributes['color'] === 'red') {
$price['regular_price'] = '200';
}
return $price;
}, 10, 2);
В этом примере мы изменяем обычную цену на 200, если атрибут цвета вариации ‘red’
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменять цены вариаций товаров на основании определенных условий
– Производительность
Хук может повлиять на производительность, если используется для больших объемов данных, поэтому следует ограничить количество условий
– Предупреждения
Убедитесь, что изменения цен не вводят пользователей в заблуждение и соответствуют вашему бизнес-плану
Альтернативы
Тип: filter
Этот хук позволяет изменять цены вариаций до их извлечения из базы данных
Используйте его, если необходимо изменить цены до их отображения, например, в зависимости от пользовательских ролей
Отлично!