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

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

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

Первым делом проверьте:

  • Включена ли опция отображения SKU в настройках WooCommerce: WooCommerce → Настройки → Товары → Отображение — убедитесь, что опция "Показывать артикул" активна.
  • Поддерживает ли тема вывод SKU — не все темы по умолчанию показывают SKU, особенно если шаблоны переопределены.
  • Нет ли конфликтов с плагинами, которые могут изменять вывод данных товара.

Почему тема может не показывать SKU

Чаще всего темы WooCommerce переопределяют шаблон single-product/meta.php, который отвечает за вывод метаданных товара, включая SKU. Если в вашей теме этот файл отсутствует, WooCommerce использует дефолтный шаблон из плагина. Если он есть, но код не выводит SKU, то артикул не будет виден.

Также бывает, что в functions.php темы добавляют фильтры или действия, которые отключают вывод SKU.

Пошаговое решение: добавляем поддержку SKU в тему

1. Проверяем, переопределяет ли тема шаблон meta.php

Перейдите в папку темы, например wp-content/themes/your-theme/woocommerce/single-product/meta.php. Если файл есть, откройте его и убедитесь, что в нем есть вызов функции woocommerce_template_single_meta(). Обычно шаблон содержит код, который выводит SKU и категории.

2. Добавляем вывод SKU вручную

Если шаблон отсутствует или не содержит вызовов SKU, можно добавить вывод SKU прямо в шаблон single-product.php или в нужном месте темы. Пример кода для вывода SKU:

<?php
$product = wc_get_product( get_the_ID() );
if ( $product->get_sku() ) {
    echo '<span class="sku">' . esc_html__( 'SKU:', 'woocommerce' ) . ' ' . esc_html( $product->get_sku() ) . '</span>';
}
?>

Этот код можно вставить в любое место шаблона, где хотите видеть артикул. Обычно это рядом с ценой или названием.

3. Проверяем фильтры, отключающие вывод SKU

В файле functions.php темы проверьте, нет ли кода, который удаляет действие woocommerce_template_single_meta или фильтров, которые модифицируют метаданные товара, например:

remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );

Если такой есть, закомментируйте или удалите его.

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

После внесения изменений очистите кеш сайта и браузера, затем откройте страницу товара. SKU должен отображаться в том месте, где вы добавили код.

Для проверки можно использовать инспектор браузера (DevTools) и найти элемент с классом sku. Если артикул виден в HTML, но не отображается визуально, проверьте CSS темы — возможно, свойство display:none.

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

  • SKU не выводится, хотя в коде есть вызов — проверьте, что у товара действительно заполнено поле SKU в админке.
  • Код добавлен, но сайт выдает ошибку PHP — проверьте, что переменная $product корректно инициализирована, особенно если вывод происходит вне цикла WooCommerce.
  • CSS скрывает артикул — в инспекторе браузера посмотрите стили для класса .sku, если стоит display:none или visibility:hidden, измените или переопределите CSS.
  • Функция get_sku() возвращает пустое значение — убедитесь, что SKU заполнен и не пустой.

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

  • Используйте esc_html() при выводе SKU, чтобы избежать XSS-уязвимостей.
  • Не добавляйте тяжелые запросы или лишнюю логику при выводе SKU — это просто строка, и она доступна из объекта товара.
  • Если на сайте много товаров, и вы выводите SKU на страницах каталога, кэшируйте результат для снижения нагрузки.

Сравнение способов вывода SKU в теме WooCommerce

МетодОписаниеПлюсыМинусы
Использование стандартного шаблона meta.phpПереопределить файл meta.php в теме и вызвать woocommerce_template_single_meta()Полный контроль над выводом, совместимость с плагинамиНеобходимо поддерживать шаблон при обновлениях
Вставка кода вывода SKU напрямую в шаблонДобавить PHP код с get_sku() в нужное местоБыстро и просто, подходит для кастомных темМенее гибко, требует аккуратности с инициализацией объекта
Использование хуков WooCommerceДобавить действие или фильтр для вывода SKUЧистый код, легко подключается/отключаетсяТребует знания хуков и правильного приоритета
Как добавить автоматическое обновление тем в WordPress
06.02.2026
Как добавить динамический вывод атрибутов продуктов WooCommerce в тему WordPress
19.01.2026
Как добавить поддержку PWA в свою WordPress тему
17.12.2025
Как добавить поддержку WebP в тему WordPress
09.02.2026
Как добавить встроенный календарный функционал в тему WordPress
06.05.2026