Как удалить страницу корзины WooCommerce через код без плагинов

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

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

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

Как проверить, что страница корзины активна

  • В админке WordPress перейдите в Страницы и найдите страницу с названием Корзина.
  • В WooCommerce > Настройки > Продвинутые проверьте, какая страница назначена как корзина.
  • Попробуйте открыть URL страницы корзины в браузере (обычно /cart/) и убедитесь, что она отображается.

Пошаговое решение удаления страницы корзины WooCommerce через код

1. Удаляем назначение страницы корзины в настройках WooCommerce

Зайдите в WooCommerce > Настройки > Продвинутые и в поле Страница корзины выберите — Выберите — (или пусто, если возможно). Сохраните изменения.

2. Программно отключаем обработку страницы корзины

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

add_action('template_redirect', function() {
    if (is_cart()) {
        wp_redirect(home_url());
        exit;
    }
});

Этот хук перенаправляет всех посетителей, пытающихся открыть страницу корзины, на главную страницу сайта.

3. Удаляем ссылки на корзину из меню и шаблонов

Проверьте меню WordPress (Внешний вид > Меню) и удалите пункты, ведущие на страницу корзины.

Если тема или кастомные шаблоны выводят ссылку на корзину, найдите и удалите или закомментируйте код, например:

<?php echo wc_get_cart_url(); ?>

или

if ( function_exists('wc_get_cart_url') ) {
    $cart_url = wc_get_cart_url();
    // удалите или измените использование $cart_url
}

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

  • Откройте URL /cart/ — должна происходить переадресация на главную или на указанный в коде URL.
  • Проверьте меню и убедитесь, что ссылки на корзину отсутствуют.
  • Попробуйте добавить товар в корзину — проверьте, что нет перехода на страницу корзины.

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

  • Ошибка: Страница корзины по-прежнему доступна после удаления ссылки в меню.
    Причина: WooCommerce автоматически генерирует URL корзины, и если не сделать перенаправление, страница будет отображаться.
    Решение: Добавьте код перенаправления на template_redirect, как описано выше.
  • Ошибка: Добавление товара ведет на страницу корзины.
    Причина: В настройках WooCommerce включено перенаправление на корзину после добавления товара.
    Решение: В WooCommerce > Настройки > Товары снимите галочку «Перенаправлять на страницу корзины после добавления товара».
  • Ошибка: Ошибки в шаблонах из-за удаления вызовов wc_get_cart_url().
    Причина: Код темы зависит от ссылки на корзину.
    Решение: Замените вызовы на безопасные проверки или удалите блоки с корзиной.

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

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

Сравнение вариантов удаления страницы корзины WooCommerce

МетодПлюсыМинусыКогда использовать
Удалить страницу в админке + перенаправление через кодПростой, безопасный, быстрое восстановлениеНужно правильно убрать ссылки в шаблонах и менюПри временной необходимости убрать корзину
Удалить страницу и менять шаблоны темыПолный контроль над функционаломСложно, требует редактирования шаблоновКастомные решения с полным отказом от корзины
Использование плагина для отключения корзиныБыстро и без кодаПотенциальные конфликты, лишние зависимостиЕсли не хочется писать код
Как удалить страницу корзины WooCommerce через код без плагинов
04.07.2026
Как добавить кастомные типы постов в WordPress без плагинов
16.02.2026
Как создать автоматическое удаление старых записей в WordPress по дате
24.01.2026
Как отключить AJAX в WordPress без потери производительности
13.01.2026
Как изменить уникальный slug в WordPress для записей без плагинов
07.03.2026