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

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

Если в корзине WooCommerce не отображаются миниатюры товаров, это обычно связано с одной из следующих причин:

  • Отсутствие установки или неправильная настройка изображения товара (featured image).
  • Конфликт с темой или плагинами, которые переопределяют шаблоны WooCommerce.
  • Кэширование, из-за которого старые данные не обновляются.
  • Изменения в файлах шаблонов, например cart.php или cart-item.php, лишающие вывода миниатюр.
  • Проблемы с правами доступа к изображениям на сервере.

Для начала проверьте, установлено ли изображение товара в админке. Перейдите в редактирование товара и убедитесь, что у товара есть "Изображение товара".

Пошаговое решение проблемы с отсутствием изображений в корзине WooCommerce

1. Проверка и восстановление вывода миниатюр в шаблоне корзины

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

Проверьте файл wp-content/themes/your-theme/woocommerce/cart/cart.php или cart-item.php на наличие кода:

<?php echo $cart_item['data']->get_image(); ?>

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

<td class="product-thumbnail">
    <?php echo $cart_item['data']->get_image(); ?>
</td>

2. Очистка кэша и отключение плагинов-кэширующих

Если вы используете плагин кэширования (например, WP Super Cache, W3 Total Cache, LiteSpeed Cache), очистите кэш и временно отключите плагин. Иногда кэш сохраняет старую версию страницы без миниатюр.

3. Проверка прав доступа к папке с изображениями

Убедитесь, что папка wp-content/uploads/ и вложенные директории имеют права 755, а файлы — 644. Неверные права могут блокировать загрузку миниатюр.

4. Тестирование на стандартной теме

Активируйте стандартную тему WordPress, например, Twenty Twenty-Three, и проверьте, отображаются ли изображения в корзине. Если да — проблема в вашей теме.

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

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

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

  • Удаление вызова миниатюры в шаблоне: В теме могут быть кастомные шаблоны с удалённым выводом изображения. Исправьте шаблон, добавив <?php echo $cart_item['data']->get_image(); ?>.
  • Использование устаревших хуков: Не используйте deprecated хуки для вывода корзины, используйте актуальные шаблоны WooCommerce.
  • Проблемы с плагинами оптимизации изображений: Некоторые плагины сжимают или отказываются показывать миниатюры в корзине. Временно отключите такие плагины.
  • Кэширование страницы корзины: Не кэшируйте страницу корзины, так как она динамическая. Настройте исключение в плагинах кэширования.

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

  • Не храните изображения вне стандартной директории uploads — это упрощает управление и безопасность.
  • Используйте CDN для ускорения загрузки изображений, если сайт большой.
  • Регулярно оптимизируйте изображения плагинами, например, ShortPixel или Imagify, чтобы уменьшить вес страниц.
  • Отключайте кэширование для страниц корзины и оформления заказа для корректного отображения динамического контента.

Альтернативные методы вывода миниатюр в корзине: код и плагины

МетодОписаниеПлюсыМинусы
Использование встроенной функции get_image() Вывод миниатюры из объекта товара Просто, нативно, работает с любым типом товара Зависит от корректности шаблонов темы
Плагин WooCommerce Customizer Добавляет опции для управления отображением элементов корзины Без кодинга, быстро Может не покрывать все случаи, лишний плагин
Кастомная функция с фильтром woocommerce_cart_item_thumbnail Позволяет модифицировать HTML миниатюры в корзине Гибкость, можно добавить дополнительные атрибуты Требует навыков PHP

Пример кастомизации миниатюры через фильтр

add_filter('woocommerce_cart_item_thumbnail', 'custom_cart_item_thumbnail', 10, 3);
function custom_cart_item_thumbnail($thumbnail, $cart_item, $cart_item_key) {
    // Получаем объект товара
    $product = $cart_item['data'];
    // Выводим миниатюру с кастомным размером
    return $product->get_image(array(100, 100));
}
WooCommerce: как автоматически удалить товар после продажи
27.06.2026
Как отладить проблемы с AJAX в WordPress
01.12.2025
WooCommerce: как исправить проблему с неотслеживанием изменения статуса заказа
14.07.2026
Как настроить автоматическое удаление старых черновиков в WordPress
02.03.2026
Как удалить неиспользуемые метаданные в WordPress для ускорения сайта
28.11.2025