WooCommerce не отображает товары после обновления: как исправить

Диагностика проблемы с отображением товаров в WooCommerce после обновления

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

Что проверить в первую очередь

  • Перепроверьте, активен ли основной плагин WooCommerce.
  • Проверьте, есть ли товары с установленным статусом «Опубликовано» и видимостью «Показывать в каталоге».
  • Очистите кэш сайта и браузера, чтобы исключить проблему с устаревшими данными.
  • Проверьте, обновилась ли база данных WooCommerce после апдейта (обычно появляется уведомление в админке с кнопкой обновления базы данных).
  • Отключите все сторонние плагины и переключитесь на дефолтную тему (например, Storefront), чтобы исключить конфликт.

Пошаговое решение проблемы: товары не отображаются после обновления WooCommerce

1. Проверка и обновление пермалинков

Очень часто после обновления WooCommerce требуется обновить структуру постоянных ссылок.

В админке WordPress перейдите в <strong>Настройки > Постоянные ссылки</strong> и просто нажмите кнопку «Сохранить изменения» без внесения изменений.

Это пересоздаст правила перезаписи и решит проблемы с 404 и пустыми страницами товаров.

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

Убедитесь, что товары опубликованы и видимы в каталоге:

function wpskills_check_product_visibility() {
    $args = [
        'post_type' => 'product',
        'posts_per_page' => 5,
        'post_status' => 'publish',
        'tax_query' => [
            [
                'taxonomy' => 'product_visibility',
                'field'    => 'name',
                'terms'    => 'exclude-from-catalog',
                'operator' => 'NOT IN',
            ],
        ],
    ];
    $query = new WP_Query($args);
    if ($query->have_posts()) {
        echo 'Товары с видимостью в каталоге найдены';
    } else {
        echo 'Нет товаров с видимостью в каталоге';
    }
}
add_action('admin_notices', 'wpskills_check_product_visibility');

Если выводится «Нет товаров с видимостью в каталоге», нужно вручную проверить настройки товаров или массово изменить видимость через SQL или админку.

3. Очистка и сброс кэша WooCommerce

Если используете кэш-плагины, обязательно очистите кэш. Также WooCommerce хранит свои кэши, которые можно сбросить так:

function wpskills_clear_woocommerce_cache() {
    if (class_exists('WC_Cache_Helper')) {
        WC_Cache_Helper::invalidate_cache_by_prefix('product');
        wc_delete_product_transients();
    }
}
add_action('init', 'wpskills_clear_woocommerce_cache', 20);

4. Проверка совместимости темы и плагинов

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

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

Чтобы убедиться, что товары отображаются корректно:

  • Перейдите на страницу магазина (обычно /shop/) и обновите её.
  • Зайдите в админку WooCommerce > Товары и убедитесь, что товары опубликованы и видимы.
  • Используйте инструмент WP_Query в режиме отладки, чтобы проверить выборку товаров.

Пример простого теста для вывода первых пяти товаров:

$query = new WP_Query(['post_type' => 'product', 'posts_per_page' => 5]);
if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
        echo get_the_title() . '<br>';
    }
    wp_reset_postdata();
} else {
    echo 'Товары не найдены';
}

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

  • Не обновлены пермалинки — приводит к ошибкам 404 на страницах товаров.
  • Товары имеют статус «Черновик» или «Скрыто» — не отображаются в каталоге.
  • Конфликт с темой или плагином — отключайте поочерёдно, чтобы найти виновника.
  • Кэш не очищен — старые данные мешают увидеть изменения.
  • База данных не обновлена — после обновления WooCommerce нужно нажать кнопку обновления базы данных в админке.

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

  • Регулярно создавайте бэкапы перед обновлением WooCommerce и плагинов.
  • Используйте профилирование запросов, например Query Monitor, чтобы выявлять медленные WP_Query.
  • Оптимизируйте количество видимых товаров на странице с помощью параметра posts_per_page, чтобы не перегружать страницу.
  • Для ускорения загрузки применяйте объектный кэш и CDN.

Сравнение способов решения проблемы отображения товаров

МетодОписаниеПлюсыМинусы
Обновление пермалинков Перегенерация правил перезаписи URL Просто и быстро, решает 404 Не решает проблемы с видимостью товаров
Проверка статуса и видимости товаров Убедиться, что товары опубликованы и видимы Гарантирует, что товары доступны для показа Требует ручной проверки или скриптов
Отключение конфликтующих плагинов и темы Диагностика конфликтов Выявляет источник проблемы Занимает время, требует технических навыков
Как изменить время хранения кеша в WordPress
04.02.2026
Как удалить атрибут alt из изображений в WordPress
25.12.2025
Как удалить атрибут title из изображений в WordPress
01.02.2026
Как отключить автоматическое сохранение черновиков в WordPress
25.03.2026
WooCommerce: как исправить проблему с неотображением корзины после обновления
04.05.2026