Как добавить поддержку WooCommerce в свою WordPress тему

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

Почему важна интеграция WooCommerce в тему WordPress

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

  • Активировать стили WooCommerce или заменить их своими;
  • Создавать собственные шаблоны для страниц магазина, товара, корзины;
  • Поддерживать виджеты и хуки WooCommerce;
  • Оптимизировать загрузку и производительность для магазина.

Добавление поддержки — это обязательный шаг при разработке темы, ориентированной на e-commerce.

Шаг 1. Объявляем поддержку WooCommerce в теме

Для начала в файле functions.php своей темы нужно зарегистрировать поддержку плагина. Это позволит WooCommerce подключать свои стили и скрипты, а также активировать функционал.

function wptheme_add_woocommerce_support() {
    add_theme_support('woocommerce');
}
add_action('after_setup_theme', 'wptheme_add_woocommerce_support');

После этого WooCommerce распознает вашу тему как совместимую и подключит базовые стили.

Шаг 2. Отключаем стандартные стили WooCommerce (по желанию)

Если вы хотите полностью контролировать стили и не использовать стандартные CSS плагина, можно отключить их подключение:

function wptheme_dequeue_woocommerce_styles() {
    wp_dequeue_style('woocommerce-general');
    wp_dequeue_style('woocommerce-layout');
    wp_dequeue_style('woocommerce-smallscreen');
}
add_action('wp_enqueue_scripts', 'wptheme_dequeue_woocommerce_styles', 99);

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

Шаг 3. Копируем и кастомизируем шаблоны WooCommerce

WooCommerce использует шаблоны из папки woocommerce/templates. Чтобы изменить вывод, скопируйте нужные файлы в папку вашей темы /woocommerce/, сохраняя структуру.

Например, чтобы изменить шаблон страницы товара, скопируйте single-product.php и content-single-product.php в wp-theme/woocommerce/ и редактируйте их.

Это самый гибкий способ настроить дизайн и структуру страниц магазина.

Шаг 4. Используем хуки и фильтры WooCommerce для кастомизации

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

Например, чтобы убрать описание товара из страницы, используйте:

function wptheme_remove_product_description() {
    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20);
}
add_action('init', 'wptheme_remove_product_description');

Чтобы добавить блок с дополнительной информацией после цены:

function wptheme_add_custom_info_after_price() {
    echo '<div class="custom-info">Бесплатная доставка при заказе от 5000 рублей</div>';
}
add_action('woocommerce_single_product_summary', 'wptheme_add_custom_info_after_price', 25);
<

Основные хуки для кастомизации страницы товара

  • woocommerce_before_single_product — перед всем контентом товара;
  • woocommerce_single_product_summary — основное содержимое (название, цена, описание);
  • woocommerce_after_single_product — после всего товара;
  • woocommerce_before_shop_loop — перед списком товаров;
  • woocommerce_after_shop_loop — после списка товаров.

Шаг 5. Поддержка виджетов WooCommerce в боковой панели темы

Для полноценной интеграции удобно зарегистрировать сайдбар, в который можно добавить виджеты магазина (фильтры, поиск, категории).

function wptheme_register_woocommerce_sidebar() {
    register_sidebar(array(
        'name' => 'WooCommerce Sidebar',
        'id' => 'woocommerce-sidebar',
        'before_widget' => '<div class="widget woocommerce-widget">',
        'after_widget' => '</div>',
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>'
    ));
}
add_action('widgets_init', 'wptheme_register_woocommerce_sidebar');

В шаблонах магазина подключайте сайдбар вызовом:

if ( is_active_sidebar( 'woocommerce-sidebar' ) ) {
    dynamic_sidebar( 'woocommerce-sidebar' );
}
<

Шаг 6. Оптимизация производительности и загрузки

WooCommerce добавляет много CSS и JS, которые не всегда нужны на всех страницах. Рекомендуется загружать их только на страницах магазина.

Пример условной загрузки стилей и скриптов:

function wptheme_conditional_woocommerce_assets() {
    if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
        wp_dequeue_style('woocommerce-general');
        wp_dequeue_script('wc-cart-fragments');
    }
}
add_action('wp_enqueue_scripts', 'wptheme_conditional_woocommerce_assets', 99);

Это значительно улучшит скорость загрузки главной и других страниц.

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

  • Clearfy Pro — оптимизация и отключение ненужных функций WooCommerce для ускорения сайта. Подробнее: https://wpshop.ru/plugins/clearfy-pro/
  • WPGPT — генерация описаний товаров с помощью ИИ прямо в админке WooCommerce. Подробнее: https://wpshop.ru/plugins/wpgpt/
  • ABC Pagination — улучшенная пагинация для списка товаров в каталогах WooCommerce. Подробнее: https://wpshop.ru/plugins/abc-pagination/

Итоги

Добавление поддержки WooCommerce в свою тему — задача обязательная для корректной работы магазина. Используйте add_theme_support('woocommerce'), копируйте и кастомизируйте шаблоны, применяйте хуки для управления выводом и не забывайте об оптимизации загрузки ресурсов.

Так вы создадите удобный, красивый и производительный интернет-магазин на базе собственной темы WordPress.

Как отображать динамические данные в теме WordPress без плагинов
10.12.2025
Как создать динамический журнал в WordPress с помощью REST API
23.11.2025
Как добавить динамические виджеты в тему WordPress
02.03.2026
Как добавить собственный тип записей в WordPress
13.11.2025
Как сделать автоматическое обновление темы WordPress без плагина
17.02.2026