Добавляем свои образцы цветов в редактор Gutenberg - Purple Web

Добавляем свои образцы цветов в редактор Gutenberg

Чтобы добавить свои образцы цветов (color palette) в редактор Гутенберг (Gutenberg) в WordPress, нужно использовать фильтр add_theme_support('editor-color-palette', [...]) в файле вашей темы functions.php.

Использовать предопределенную палитру цветов удобно для достижения единого визуального стиля сайта — не нужно каждый раз искать цвет и вставлять его в нужный блок. С помощью предопределенной палитры мы просто выбираем нужный цвет.

ШАГ 1. Добавляем код в functions.php:

function mypalette_colors() {
    add_theme_support('editor-color-palette', array(
        array(
            'name'  => __('Primary', 'your-textdomain'),
            'slug'  => 'primary',
            'color' => '#1a73e8',
        ),
        array(
            'name'  => __('Secondary', 'your-textdomain'),
            'slug'  => 'secondary',
            'color' => '#e91e63',
        ),
        array(
            'name'  => __('Dark Gray', 'your-textdomain'),
            'slug'  => 'dark-gray',
            'color' => '#333333',
        ),
        array(
            'name'  => __('Light Gray', 'your-textdomain'),
            'slug'  => 'light-gray',
            'color' => '#f2f2f2',
        ),
    ));
}
add_action('after_setup_theme', 'mypalette_colors');

Здесь определяем основные цвета сайта, которые будут отображаться в палитре.

ШАГ 2. Запрещаем редактору использовать произвольные цвета, чтобы отображались только те цвета, которые мы определили. Для этого добавьте:

add_theme_support('disable-custom-colors');

Пример с отключением произвольных цветов:

function mytheme_custom_colors() {
    add_theme_support('editor-color-palette', array(
        array(
            'name'  => __('Primary', 'your-textdomain'),
            'slug'  => 'primary',
            'color' => '#1a73e8',
        ),
        array(
            'name'  => __('Accent', 'your-textdomain'),
            'slug'  => 'accent',
            'color' => '#ff5722',
        ),
    ));
    add_theme_support('disable-custom-colors');
}
add_action('after_setup_theme', 'mytheme_custom_colors');

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

.has-primary-color { 
	color: #1a73e8;
}
.has-accent-color {
	color: #ff5722;
}

.has-primary-background-color { 
	background: #1a73e8;
}

.has-accent-background-color { 
	background: #ff5722;
}