Как удалить или отключить WooCommerce Gutenberg блоки без плагинов

Диагностика проблемы: зачем отключать WooCommerce Gutenberg блоки

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

Чтобы понять, активны ли блоки WooCommerce Gutenberg на вашем сайте, откройте редактор страниц и проверьте наличие блоков с названиями, начинающимися на woocommerce/. Если вы используете классический редактор, блоки автоматически не отображаются.

Пошаговое решение: отключение WooCommerce Gutenberg блоков без плагинов

1. Отключение регистрации Gutenberg блоков WooCommerce

WooCommerce регистрирует свои блоки через хук init с приоритетом 20. Чтобы не загружать эти блоки, нужно удалить действие, отвечающее за регистрацию блоков.

function disable_woocommerce_gutenberg_blocks() {
    remove_action( 'init', array( 'Automattic\WooCommerce\Blocks\Assets', 'register_block_type' ), 20 );
}
add_action( 'init', 'disable_woocommerce_gutenberg_blocks', 1 );

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

add_filter( 'woocommerce_blocks_is_enabled', '__return_false' );

2. Отключение стилей и скриптов блоков

Даже после отключения регистрации блоков WooCommerce может загружать свои CSS и JS файлы для блоков. Их можно отключить так:

function dequeue_woocommerce_blocks_assets() {
    wp_dequeue_style( 'wc-block-style' );
    wp_dequeue_script( 'wc-blocks-vendors-style' );
    wp_dequeue_script( 'wc-blocks-style' );
}
add_action( 'wp_enqueue_scripts', 'dequeue_woocommerce_blocks_assets', 100 );

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

1. В админке откройте любой пост или страницу с редактором Gutenberg и проверьте, исчезли ли блоки с префиксом woocommerce/.

2. На фронтенде убедитесь, что стили и скрипты для блоков не загружаются. Используйте инструменты разработчика браузера (Network и Sources) для проверки отсутствия wc-block-style.css и связанных JS.

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

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

  • Блоки WooCommerce всё ещё доступны в редакторе — проверьте, не подключён ли плагин, который принудительно включает блоки (например, WooCommerce Blocks). Попробуйте добавить фильтр woocommerce_blocks_is_enabled как ранний приоритет.
  • Стили WooCommerce блоков загружаются — убедитесь, что wp_dequeue_style вызывается с приоритетом 100 или выше, чтобы перехватить регистрацию стилей WooCommerce.
  • Конфликты с кэшированием — после внесения изменений очистите кэш сайта и браузера, а также кэш систем CDN, если они используются.

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

  • Отключение Gutenberg блоков WooCommerce уменьшает загрузку CSS и JS, что снижает время отклика страниц.
  • Избегайте установки плагинов для отключения блоков, если можно сделать это в теме — так сокращается нагрузка и вероятность конфликтов.
  • Если в будущем планируется использовать блоки, сделайте переключатель в настройках темы для включения/отключения.

Сравнение способов отключения WooCommerce Gutenberg блоков

МетодПлюсыМинусы
Фильтр woocommerce_blocks_is_enabledПростой, универсальный, не требует сложного кодаМожет не работать с кастомными сборками WooCommerce
Удаление действия remove_actionТочный контроль над регистрацией блоковЗависит от версии WooCommerce и внутренней реализации
Отключение стилей и скриптов через wp_dequeue_styleОбеспечивает полное отключение визуальных и JS ресурсовНе отключает сами блоки в редакторе
Кастомизация полей оформления заказа WooCommerce без плагинов: пошаговое руководство
17.04.2026
Как установить автоматические push-уведомления в WordPress
21.02.2026
Как создать собственный тип постов в WordPress
08.12.2025
Создать динамические формы в WordPress с помощью AJAX
30.11.2025
Как создать автоматический маркетинговый отслеживатель клиентов в WordPress
13.04.2026