Как отключить показ сопутствующих товаров в WooCommerce на странице корзины и оформления

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

Когда это действительно проблема

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

Перед правкой кода проверьте, откуда именно берётся блок:

  • это стандартный вывод WooCommerce через хуки;
  • это шаблон темы в woocommerce/cart/cart.php или woocommerce/checkout/form-checkout.php;
  • это отдельный плагин рекомендаций, который подмешивает контент в корзину;
  • это блоки, добавленные через конструктор страниц.

Как быстро диагностировать источник

Откройте страницу корзины и checkout в режиме инкогнито, временно переключите тему на стандартную и отключите плагины, кроме WooCommerce. Если блок исчезает, значит проблема в теме или стороннем плагине. Если остаётся, ищите вывод через хуки WooCommerce.

Для проверки хуков удобно включить логирование и посмотреть, не добавляет ли тема собственный callback на действия вроде woocommerce_before_cart, woocommerce_after_cart, woocommerce_before_checkout_form или woocommerce_after_checkout_form.

Что отключать: стандартные рекомендации или весь блок целиком

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

ПодходКогда подходитКомпромисс
Снять хуки WooCommerceЕсли нужны только стандартные рекомендацииНе затрагивает вывод темы, но не убирает сторонние вставки
Править шаблон темыЕсли блок добавлен прямо в шаблонНужно следить за обновлениями темы
Отключить плагин рекомендацийЕсли блок создаёт отдельный плагинМожет исчезнуть полезная логика в других местах сайта

Пошаговое решение через functions.php или мини-плагин

Самый безопасный вариант — вынести код в мини-плагин или в functions.php дочерней темы. Так вы не потеряете изменения при обновлении родительской темы.

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

<?php
/**
 * Убираем стандартные блоки, которые часто используются для рекомендаций
 * на cart и checkout.
 */
add_action( 'wp', function () {
    if ( ! function_exists( 'is_cart' ) || ! function_exists( 'is_checkout' ) ) {
        return;
    }

    if ( is_cart() ) {
        // Пример: если тема выводит related products через собственный callback,
        // его нужно снять отдельно. Ниже — безопасный шаблон для типовых хуков.
        remove_action( 'woocommerce_after_cart', 'woocommerce_output_related_products', 20 );
    }

    if ( is_checkout() ) {
        remove_action( 'woocommerce_after_checkout_form', 'woocommerce_output_related_products', 20 );
    }
} );

Этот код не навредит, даже если в вашей установке WooCommerce не использует именно эти хуки на cart/checkout. Но если блок всё равно остаётся, значит его выводит тема или плагин другим способом.

Если рекомендации добавляет тема

Тогда ищите в файлах темы вызовы вроде woocommerce_output_related_products(), woocommerce_related_products() или собственные функции с похожим названием. Обычно они лежат в functions.php, в папке inc или в шаблонах WooCommerce темы.

Если нашли прямой вызов в шаблоне, не редактируйте родительскую тему. Скопируйте шаблон в дочернюю тему и уберите вывод там. Иначе обновление всё перетрёт.

Если блок выводит плагин

У сторонних плагинов рекомендации часто отключаются через настройки, а не кодом. Проверьте разделы WooCommerce, маркетинга, upsell/cross-sell или отдельные страницы настроек плагина. Если настройки нет, ищите фильтры и действия в документации именно этого плагина, а не WooCommerce в целом.

Альтернатива: скрыть блок только на cart и checkout через CSS

CSS — это не лучшее решение, если блок грузит лишние запросы или влияет на логику. Но для быстрого исправления в теме, где нельзя сразу лезть в PHP, можно временно скрыть визуальный вывод.

.woocommerce-cart .related.products,
.woocommerce-checkout .related.products,
.woocommerce-cart .upsells,
.woocommerce-checkout .upsells {
    display: none !important;
}

Минус очевиден: блок остаётся в HTML и продолжает отрабатываться на сервере. Если цель — ускорить страницу или убрать лишнюю нагрузку, CSS не решает задачу полностью.

Как проверить, что решение сработало

После внедрения проверьте не только внешний вид, но и поведение страницы:

  • откройте корзину и checkout в инкогнито;
  • очистите кеш плагина, сервера и CDN;
  • проверьте мобильную версию, где блоки часто ломают высоту страницы;
  • посмотрите исходный код страницы и убедитесь, что блок не дублируется;
  • добавьте товар в корзину и пройдите оформление до шага оплаты.

Если блок исчез визуально, но остался в HTML, значит вы скрыли его через CSS, а не отключили вывод. Это допустимо только как временная мера.

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

Правят родительскую тему

После обновления изменения пропадают. Решение простое: дочерняя тема или мини-плагин.

Снимают не тот хук

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

Используют CSS вместо отключения логики

Это скрывает блок, но не убирает его из обработки. На тяжёлых страницах корзины это почти не помогает.

Не чистят кеш

После правки код может быть уже рабочим, но старый HTML продолжает отдаваться из кеша. Это особенно заметно на сайтах с серверным кешированием и CDN.

Отключают весь related products без проверки

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

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

Если вы вносите правки в functions.php, делайте это через staging-среду или хотя бы через резервную копию файла. Одна синтаксическая ошибка может положить весь сайт. Для боевого проекта мини-плагин обычно надёжнее: его проще отключить, если что-то пошло не так.

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

Когда задача шире, чем просто скрыть рекомендации, имеет смысл проверить и другие блоки, которые отвлекают пользователя на checkout: лишние баннеры, виджеты доверия, повторяющиеся upsell-секции. Иногда именно они, а не сами related products, создают ощущение перегруженной страницы.

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

WooCommerce: как реализовать авторизацию пользователя после покупки без перенаправления
30.07.2026
WooCommerce: как добавить собственный тип доставки с условиями
09.06.2026
Как создать автоматический импорт из Telegram в WordPress
10.03.2026
Как создать динамическую пагинацию в WordPress с помощью AJAX
28.02.2026
Как автоматически удалять временные файлы в WordPress
09.12.2025

Уроки со скриншотами, подробные руководства