Как удалить корзину WooCommerce из меню без плагинов

Почему нужно удалять корзину WooCommerce из меню

В некоторых случаях стандартный элемент меню «Корзина» в WooCommerce может мешать дизайну или логике сайта. Например, если вы используете отдельную кнопку оформления заказа или хотите полностью скрыть корзину для определенных групп пользователей. Вместо установки дополнительных плагинов можно быстро решить задачу с помощью кода.

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

Для начала убедитесь, что элемент «Корзина» добавлен через wp_nav_menu в теме. Зайдите в Внешний вид > Меню в админке и найдите пункт «Корзина» или пункт с ссылкой на /cart/. Если он там есть — у вас стандартный способ добавления.

Если пункта нет, корзина может выводиться динамически через хуки или кастомный код — тогда нужно искать другой подход.

Пошаговое решение: удаляем пункт «Корзина» из меню программно

Добавьте следующий код в файл functions.php вашей дочерней темы или в кастомный плагин:

add_filter('wp_nav_menu_objects', 'remove_woocommerce_cart_from_menu', 10, 2);
function remove_woocommerce_cart_from_menu($items, $args) {
    foreach ($items as $key => $item) {
        // Проверяем URL пункта меню
        if (strpos($item->url, '/cart') !== false) {
            unset($items[$key]);
        }
    }
    return $items;
}

Этот фильтр перебирает все пункты меню и удаляет те, у которых URL содержит /cart. Это работает, если ссылка корзины именно такая.

Как адаптировать код под другие URL

Если у вас кастомный URL корзины, измените строку

if (strpos($item->url, '/cart') !== false)

на соответствующий путь, например /korzina.

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

  • Очистите кэш браузера и кэш сайта, если используется.
  • Перейдите на страницу с меню и убедитесь, что пункт «Корзина» исчез.
  • Проверьте, что другие пункты меню отображаются корректно.
  • Если корзина не исчезла, проверьте правильность пути в коде и повторите шаги.

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

  • Пункт меню не удаляется: проверьте, что вы используете правильный URL в условии strpos. В некоторых случаях ссылка корзины может иметь домен или параметры, например https://example.com/cart/?key=123.
  • Код вызывает ошибку PHP: убедитесь, что вы вставили код без синтаксических ошибок и в правильное место.
  • Корзина появляется через виджет или шорткод: данный метод не сработает, нужно искать другой способ.
  • Кэширование мешает увидеть изменения: отключите кэш или очистите его.

Альтернативные варианты удаления корзины из меню

МетодПлюсыМинусы
Удаление через фильтр wp_nav_menu_objectsБыстро, без плагинов, гибкоТребует базовых знаний PHP
Удаление пунктов через админкуПросто, не требует кодаКорзина может автоматически добавляться плагином
CSS-скрытие пунктаОчень просто, не затрагивает кодПункт остается в HTML, влияет на SEO, пользователи могут видеть в исходном коде
Использование плагинов для управления менюДополнительные функцииЗагрузочный вес, лишние зависимости

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

  • Не используйте remove_filter и подобные методы без понимания, это может сломать работу других частей темы.
  • Добавляйте кастомный код в дочернюю тему или плагин, чтобы не потерять изменения при обновлении.
  • Минимизируйте использование плагинов для простых задач — фильтры WordPress часто позволяют решить проблему легче и эффективнее.
  • Проверяйте сайт после изменений на наличие ошибок в консоли браузера и логах сервера.

Дополнительный пример: скрытие корзины для неавторизованных пользователей

add_filter('wp_nav_menu_objects', 'hide_cart_for_guests', 10, 2);
function hide_cart_for_guests($items, $args) {
    if (!is_user_logged_in()) {
        foreach ($items as $key => $item) {
            if (strpos($item->url, '/cart') !== false) {
                unset($items[$key]);
            }
        }
    }
    return $items;
}

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

Как удалить неиспользуемые таблицы в базе данных WordPress
20.03.2026
Как удалить неиспользуемые таблицы в базе данных WordPress
27.03.2026
Как создать собственный шорткод в WordPress
31.10.2025
Как использовать хуки для оптимизации WordPress: практические примеры и советы
08.12.2025
Как удалить корзину WooCommerce из меню без плагинов
29.04.2026