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

Диагностика проблемы: почему нельзя изменить количество товара в корзине

В стандартной установке WooCommerce покупатели могут менять количество товаров в корзине, но некоторые темы, кастомизации или плагины могут блокировать эту возможность. Если на вашем сайте пользователи жалуются, что не могут изменить количество товара — первым делом проверьте:

  • Активна ли корзина с возможностью редактирования — зайдите в корзину и убедитесь, что поле quantity присутствует и активно.
  • Нет ли конфликтов со сторонними плагинами, которые блокируют поля ввода количества.
  • Не отключена ли эта функция в теме или дочерней теме через фильтры WooCommerce.

Для быстрой проверки отключите все плагины, кроме WooCommerce, переключитесь на стандартную тему Storefront и проверьте корзину.

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

1. Проверка и включение поля количества

В WooCommerce, чтобы разрешить изменение количества, необходимо, чтобы в шаблоне корзины был тег <input type="number" name="cart[{$cart_item_key}][qty]" value="{$quantity}" />.

Если вы используете кастомную тему, убедитесь, что файл cart/cart.php содержит этот код. Если нет, замените на стандартный или добавьте вручную:

<input type="number" name="cart[<?php echo $cart_item_key; ?>][qty]" value="<?php echo $cart_item['quantity']; ?>" min="1" />

2. Убедитесь, что корзина обновляется

После изменения количества пользователь должен нажать кнопку «Обновить корзину» (Update cart). Проверьте, что на странице корзины присутствует кнопка:

<button type="submit" name="update_cart" value="Update cart">Обновить корзину</button>

Если кнопка отсутствует или не работает, добавьте её в шаблон cart/cart.php.

3. Исправление возможных ограничений по количеству

Некоторые плагины или код могут ограничивать максимальное или минимальное количество. Проверьте, нет ли в вашем functions.php кода с фильтрами woocommerce_quantity_input_args. Пример правильной настройки:

add_filter('woocommerce_quantity_input_args', function($args, $product) {
    $args['input_value'] = 1; // стартовое значение
    $args['min_value'] = 1; // минимальное количество
    $args['max_value'] = 100; // максимальное количество
    return $args;
}, 10, 2);

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

  1. Откройте страницу товара и добавьте товар в корзину.
  2. Перейдите в корзину и попробуйте изменить количество в поле «Количество».
  3. Нажмите кнопку «Обновить корзину».
  4. Убедитесь, что количество изменилось и итоговая сумма обновилась корректно.
  5. Проверьте в админке WooCommerce, что заказ содержит правильное количество товара.

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

  • Поле количества отсутствует или заблокировано: проверьте кастомные шаблоны корзины, замените на стандартные или добавьте правильный input с атрибутами type="number" name="cart[...]".
  • Кнопка обновления корзины не работает: убедитесь, что форма корзины содержит кнопку с name="update_cart", и что форма отправляется методом POST на ту же страницу.
  • JavaScript блокирует изменения: отключите кастомные скрипты, которые могут перехватывать событие изменения количества и мешать отправке формы.
  • Минимальное или максимальное количество задается слишком жестко: проверьте фильтры woocommerce_quantity_input_args и скорректируйте значения.

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

  • Всегда проверяйте входящие данные количества на сервере — WooCommerce в стандартном виде это делает, но при кастомных изменениях убедитесь, что sanitize_text_field и intval применяются.
  • Не используйте слишком большие максимальные значения количества — это может привести к нагрузке на сервер и ошибкам в базе.
  • При кастомных шаблонах корзины используйте стандартные хуки woocommerce_before_cart и woocommerce_after_cart для расширения функционала без модификации core файлов.

Таблица сравнения: использование плагина VS кастомный код

ПодходПлюсыМинусы
Плагин (например, WooCommerce Custom Quantity)Быстрое решение, настройки в админке, поддержкаДополнительная нагрузка, возможные конфликты, ограниченная кастомизация
Кастомный код в functions.phpМаксимальный контроль, легковесность, отсутствие зависимостейНужны навыки разработки, риск ошибок при неправильном коде
WooCommerce: автоматическое изменение цен при акциях с Elementor
22.05.2026
Как создать автоматические резервные копии WordPress с плагинами и кастомным кодом
23.11.2025
WooCommerce: решение проблемы отсутствия связанных товаров в Elementor
25.05.2026
Как добавить динамические значки в меню Elementor для WordPress
25.02.2026
Как создать свой шорткод в WordPress с применением Elementor
02.11.2025