Диагностика проблемы: зачем убирать количество и кнопку обновления в корзине WooCommerce
По умолчанию WooCommerce в корзине выводит поле для изменения количества товара и кнопку «Обновить корзину». В некоторых случаях этот функционал избыточен: например, если вы хотите полностью контролировать количество через страницу товара или хотите упростить UX, чтобы пользователь не мог менять количество в корзине напрямую. Также удаление этих элементов может ускорить работу корзины и снизить нагрузку на сервер.
Как убрать поле количества товара и кнопку «Обновить корзину» в теме WordPress
1. Удаление поля количества товара в корзине через фильтр WooCommerce
Чтобы убрать поле количества и просто вывести количество как текст, добавьте следующий код в functions.php вашей дочерней темы или в плагин для кастомных функций:
add_filter('woocommerce_cart_item_quantity', 'remove_quantity_field_in_cart', 10, 3);
function remove_quantity_field_in_cart($product_quantity, $cart_item, $cart_item_key) {
// Выводим только количество без поля ввода
return $cart_item['quantity'];
}2. Удаление кнопки «Обновить корзину» с помощью CSS
WooCommerce выводит кнопку с классом .actions .button. Чтобы убрать кнопку визуально, можно использовать CSS. Добавьте в style.css вашей темы:
.woocommerce-cart .actions .button {
display: none !important;
}Этот способ простой и не требует вмешательства в шаблоны.
3. Полное удаление кнопки обновления из шаблона cart.php (опционально)
Если вы хотите полностью убрать кнопку из HTML, скопируйте файл cart.php из woocommerce/templates/cart/cart.php в папку вашей темы your-theme/woocommerce/cart/cart.php и удалите блок:
<button type="submit" class="button" name="update_cart" value="<?php esc_attr_e( 'Update cart', 'woocommerce' ); ?>">...</button>Однако, чаще достаточно CSS.
Проверка результата после внесения изменений
- Обновите страницу корзины и убедитесь, что в списке товаров нет полей ввода количества, а вместо них показано число.
- Кнопка «Обновить корзину» отсутствует или скрыта.
- Попробуйте вручную изменить количество через URL или другие способы — убедитесь, что изменения не влияют на корзину (если нужно, добавьте дополнительные проверки).
Частые ошибки и как их исправить
- Поле количества не исчезает: возможно, кэш браузера или плагина кэширования. Очистите кэш.
- Кнопка «Обновить корзину» отображается несмотря на CSS: проверьте, что стиль загружается и не переопределяется другими стилями. Используйте инспектор браузера.
- Изменение количества доступно через другие способы: дополнительно запретите изменение количества через хуки
woocommerce_before_calculate_totalsили через проверкуcart_item_quantity.
Практические советы по безопасности и производительности
- Не удаляйте функционал обновления корзины, если в вашем магазине возможны частые изменения количества товаров. Это может запутать пользователей.
- Для улучшения UX и снижения нагрузки используйте AJAX-перезагрузку корзины при изменении количества вместо полной кнопки обновления.
- Если используете кастомный код, тестируйте на дев-среде, чтобы избежать ошибок в работе корзины.
Пример полного кода для functions.php
add_filter('woocommerce_cart_item_quantity', 'remove_quantity_field_in_cart', 10, 3);
function remove_quantity_field_in_cart($product_quantity, $cart_item, $cart_item_key) {
return $cart_item['quantity'];
}
// Очистка кнопки обновления через CSS
function custom_hide_update_cart_button() {
echo '<style>.woocommerce-cart .actions .button { display: none !important; }</style>';
}
add_action('wp_head', 'custom_hide_update_cart_button');Таблица сравнения способов удаления кнопки обновления
| Метод | Плюсы | Минусы |
|---|---|---|
| CSS скрытие кнопки | Просто и быстро, не меняет шаблоны | Кнопка осталась в HTML, возможны SEO вопросы |
| Удаление из шаблона cart.php | Полное удаление кнопки из вывода | Требуется копирование и поддержка шаблона |
| JS удаление кнопки | Можно динамически управлять | Зависит от загрузки скриптов, иногда мерцания кнопки |