Автоматическое изменение стоимости товаров в WooCommerce по условиям

|

Диагностика задачи: зачем менять цену автоматически в WooCommerce

В интернет-магазинах часто требуется гибко управлять ценами. Это может быть скидка на определённые категории товаров, повышение цены при низком остатке или изменение цены в зависимости от роли пользователя. WooCommerce в базе не предоставляет удобных инструментов для таких сценариев, поэтому приходится использовать кастомный код или плагины.

Чтобы понять, нужно ли менять цены программно, ответьте на вопросы:

Пошаговое решение: автоматическое изменение цены товара через фильтр

1. Используем фильтр woocommerce_product_get_price для изменения цены

Этот фильтр позволяет динамически менять цену перед выводом на сайт и в корзину. Пример ниже показывает, как дать скидку 20% на товары из категории с ID 15.

add_filter('woocommerce_product_get_price', 'custom_dynamic_price', 10, 2);
add_filter('woocommerce_product_get_regular_price', 'custom_dynamic_price', 10, 2);

function custom_dynamic_price($price, $product) {
    if (has_term(15, 'product_cat', $product->get_id())) {
        $price = $price * 0.8; // скидка 20%
    }
    return $price;
}

2. Изменение цены в зависимости от роли пользователя

Если нужно менять цену для определённых ролей (например, оптовых покупателей), можно расширить условие.

function custom_dynamic_price($price, $product) {
    if (current_user_can('wholesale_customer')) {
        $price = $price * 0.75; // скидка 25% для роли wholesale_customer
    }
    return $price;
}

3. Изменение цены при низком остатке

Для повышения цены, если запас товара меньше 5 штук:

function custom_dynamic_price($price, $product) {
    if ($product->get_stock_quantity() !== null && $product->get_stock_quantity() < 5) {
        $price = $price * 1.1; // увеличить цену на 10%
    }
    return $price;
}

Проверка результата после внедрения

Чтобы проверить, что цены изменились корректно, сделайте следующее:

Частые ошибки и как их исправить

Практические советы по производительности и безопасности

Сравнение вариантов изменения цены: код vs плагины

МетодПреимуществаНедостатки
Код на фильтрах WooCommerceГибко, бесплатно, без сторонних зависимостейТребует знаний PHP, сложность при множественных условиях
Плагины скидок и динамического ценообразования
(например, WooCommerce Dynamic Pricing)
Простота настройки, множество готовых условийПлатные, могут замедлять сайт, зависят от обновлений
Компромисс: код + лёгкие плагиныБаланс скорости и функционалаТребует опытного разработчика для интеграции
Как отладить проблемы со скрытым контентом в WooCommerce
18.06.2026
Автоматическое создание категорий и подкатегорий в WordPress с помощью кода
06.01.2026
Оптимизация кода и загрузки в WordPress для бизнес-сайтов
09.11.2025
Как автоматизировать создание отчёта по продажам в WordPress с примерами кода
05.03.2026
Как автоматизировать управление ролями в WordPress с примерами кода
18.12.2025
×
Сделай свой сайт крутым!

Скидка -20% на премиум плагины WordPress

Выбрать плагин сейчас ⋙