WooCommerce: как отключить сравнение товаров в личном кабинете

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

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

Чаще всего проблема проявляется так:

  • Появляется лишняя вкладка или раздел "Сравнение товаров" в личном кабинете;
  • В коде темы или плагина есть вызовы функций, отвечающих за сравнение;
  • Это влияет на UX, ведёт к ошибкам или конфликтам с другими плагинами.

Как найти и отключить функционал сравнения товаров

Шаг 1. Определить источник функции сравнения

Проверьте, не установлен ли плагин для сравнения товаров, например, YITH WooCommerce Compare или аналоги. Если плагин есть, деактивируйте его временно и проверьте, исчез ли раздел в личном кабинете.

Если плагина нет, значит функционал добавлен темой или кастомным кодом.

Шаг 2. Поиск хуков и шорткодов в теме

В папке активной темы выполните поиск по ключевым словам compare, comparison, woocommerce_account в файлах functions.php и шаблонах woocommerce. Особенно обратите внимание на функции с префиксом add_action('woocommerce_account_... и фильтры.

grep -rn 'compare' wp-content/themes/your-theme/

Если нашли хук типа:

add_action('woocommerce_account_compare_endpoint', 'your_compare_function');

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

remove_action('woocommerce_account_compare_endpoint', 'your_compare_function');

Шаг 3. Удаление эндпоинта сравнения из личного кабинета

Если добавлен кастомный эндпоинт для сравнения, его нужно удалить:

function wpmax_remove_compare_endpoint() {
    remove_rewrite_endpoint('compare');
}
add_action('init', 'wpmax_remove_compare_endpoint');

После этого сбросьте правила постоянных ссылок в админке Настройки > Постоянные ссылки (нажать "Сохранить изменения" без правок).

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

1. Авторизуйтесь под пользователем и перейдите в личный кабинет.

2. В меню должен исчезнуть пункт "Сравнение товаров" или аналогичный.

3. Попробуйте перейти по URL с эндпоинтом сравнения, например, /my-account/compare/ — должна быть 404 ошибка.

4. Проверьте консоль браузера на отсутствие JS-ошибок, которые могли бы быть связаны с этим функционалом.

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

  • Ошибка: пункт "Сравнение" остался после удаления плагина.
    Причина: функция добавлена в тему или другой плагин.
    Решение: ищите и отключайте через remove_action или удаляйте кастомный эндпоинт.
  • Ошибка: при удалении эндпоинта появляется 500 ошибка.
    Причина: неправильно удалён эндпоинт или сброшены ссылки некорректно.
    Решение: сбросьте правила постоянных ссылок в админке, убедитесь, что хук remove_rewrite_endpoint вызывается в init.
  • Ошибка: ошибка JS в личном кабинете после отключения функции.
    Причина: остались вызовы скриптов, завязанных на сравнение.
    Решение: удалите подключение скриптов по условию is_account_page() и проверьте зависимости.

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

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

Сравнение вариантов отключения функции сравнения товаров

МетодПлюсыМинусыПример кода
Деактивация плагина сравненияПростота, быстрое отключениеПотеря всей функциональности, возможны ошибки в темеdeactivate_plugins('yith-woocommerce-compare/init.php');
Удаление кастомного эндпоинтаТочное отключение, сохранение других функцийНужны навыки поиска и правки кода
remove_action('woocommerce_account_compare_endpoint', 'your_compare_function');
remove_rewrite_endpoint('compare');
Удаление шаблонов сравнения из темыГибкость, можно изменить отображениеТребует знания структуры темы и WooCommerceУдаление файлов или условное исключение шаблонов
Как отключить Emoji в WordPress без плагинов
11.12.2025
WooCommerce: как полностью отключить отмену заказов через личный кабинет
11.05.2026
WooCommerce: как настроить правила разграничения доступа к страницам и категориям товаров
05.06.2026
Как создать собственный виджет WordPress
26.11.2025
WooCommerce: как исключить товар из каталога и поиска без удаления
01.06.2026