Как изменить стили блоков Gutenberg в WordPress

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

Почему важно кастомизировать стили блоков Gutenberg

Стандартные стили блоков подходят для большинства сайтов, но могут быть слишком универсальными или не соответствовать уникальному дизайну темы. Кастомизация стилей позволяет:

  • Сделать блоки визуально привлекательнее и уникальнее;
  • Оптимизировать отображение под мобильные устройства;
  • Улучшить читаемость и UX;
  • Сократить количество дополнительных плагинов для стилизации.

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

Добавление кастомных стилей через файл темы

Самый простой способ изменить стили блоков — добавить CSS в файл style.css вашей темы или в отдельный CSS-файл, подключаемый через functions.php.

Например, чтобы изменить фон и отступы для блока абзаца (<p>), можно добавить:

/* wpskins: стиль для блока абзаца Gutenberg */
.wp-block-paragraph {
    background-color: #f9f9f9;
    padding: 15px;
    border-left: 4px solid #0073aa;
}

Чтобы подключить дополнительный CSS-файл, добавьте в functions.php темы:

function wpskins_enqueue_block_styles() {
    wp_enqueue_style('wpskins-gutenberg-custom', get_stylesheet_directory_uri() . '/gutenberg-custom.css', array('wp-block-library'), '1.0');
}
add_action('enqueue_block_assets', 'wpskins_enqueue_block_styles');

Хук enqueue_block_assets гарантирует, что стили загрузятся как в фронтенде, так и в редакторе.

Изменение стилей блоков в редакторе Gutenberg

Чтобы стили отображались корректно в самом редакторе, нужно подключать CSS также и в его интерфейс. Для этого используют хук enqueue_block_editor_assets:

function wpskins_editor_styles() {
    wp_enqueue_style('wpskins-editor-style', get_stylesheet_directory_uri() . '/editor-style.css', array('wp-edit-blocks'), '1.0');
}
add_action('enqueue_block_editor_assets', 'wpskins_editor_styles');

В файле editor-style.css можно определить стили, которые помогут визуализировать блоки так же, как на сайте.

Кастомизация через JavaScript и фильтры Gutenberg

Для более глубокой кастомизации можно использовать JavaScript, регистрируя кастомные стили блоков или изменяя их атрибуты. Например, добавим свой стиль для блока «Кнопка»:

function wpskins_register_button_styles() {
    wp_register_script(
        'wpskins-block-style',
        get_stylesheet_directory_uri() . '/block-style.js',
        array('wp-blocks', 'wp-dom-ready', 'wp-edit-post'),
        '1.0',
        true
    );
    wp_enqueue_script('wpskins-block-style');
}
add_action('enqueue_block_editor_assets', 'wpskins_register_button_styles');

В файле block-style.js добавим стиль:

wp.domReady(() => {
    wp.blocks.registerBlockStyle('core/button', {
        name: 'wpskins-blue',
        label: 'Синий стиль WPSkins'
    });
});

После этого в редакторе в настройках блока «Кнопка» появится новый стиль, который можно применить.

Использование плагинов для стилизации блоков

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

  • Advanced Gutenberg — расширяет возможности редактора, включая стилизацию блоков;
  • Block Styles — позволяет добавлять и переключать стили для стандартных блоков;
  • Clearfy Pro — оптимизирует загрузку стилей и скриптов, при этом даёт удобные инструменты для кастомизации.

Для интеграции с плагинами WPSHOP, например, с Clearfy Pro, можно дополнительно ускорить загрузку кастомных стилей, отключая ненужные CSS у плагинов.

Пример комплексного решения: динамические стили для блока «Цитата»

Допустим, требуется изменить цвет и шрифт блока «Цитата» в зависимости от категории записи. Для этого создадим PHP-функцию, которая добавляет класс к блоку:

function wpskins_dynamic_quote_class($block_content, $block) {
    if ($block['blockName'] === 'core/quote') {
        $category = '';
        if (is_singular()) {
            $categories = get_the_category();
            if (!empty($categories)) {
                $category = 'category-' . esc_attr($categories[0]->slug);
            }
        }
        return str_replace('wp-block-quote', 'wp-block-quote ' . $category, $block_content);
    }
    return $block_content;
}
add_filter('render_block', 'wpskins_dynamic_quote_class', 10, 2);

Далее в CSS зададим стили по классам категорий:

.wp-block-quote.category-news {
    font-style: italic;
    color: #d9534f;
}
.wp-block-quote.category-tutorial {
    font-weight: bold;
    color: #5bc0de;
}

Такой подход позволяет динамически менять оформление блоков в зависимости от контекста, что сложно реализовать только через CSS.

Рекомендации по работе с кастомными стилями Gutenberg

  • Всегда используйте специфичные классы или префиксы (например, wpskins-), чтобы избежать конфликтов;
  • Подключайте стили и скрипты через правильные хуки (enqueue_block_assets, enqueue_block_editor_assets);
  • Тестируйте изменения в разных браузерах и на мобильных устройствах;
  • Используйте инспектор блоков в редакторе для быстрого поиска нужных классов;
  • При необходимости создавайте кастомные блоки или расширяйте существующие через JavaScript.

Изменение стилей блоков Gutenberg — отличный способ сделать ваш сайт более уникальным и удобным для пользователей. В зависимости от задачи можно выбрать простой путь через CSS или реализовать более сложные динамические решения с помощью PHP и JS. Используйте приведённые примеры как отправную точку для своих экспериментов и улучшений.

Как удалить CSS стили плагинов WordPress без повреждения функционала
06.04.2026
Как сделать динамическое меню в WordPress с изменяющимся активным пунктом
28.12.2025
Как добавить локализованные стили в WordPress для разных языков сайта
03.01.2026
Как реализовать автоматическую загрузку скинов в WordPress
24.12.2025
Как программно изменить заголовок страницы в WordPress
10.11.2025