BlockColorsStyleSelector — это специализированный компонент WordPress, использующий React, для стилизации цвета элементов в панели инструментов. Обычно он используется в интеграции с компонентом BlockControls
, добавляя визуальные акценты и улучшая пользовательский интерфейс.
Что такое BlockColorsStyleSelector
Компонент BlockColorsStyleSelector
создан для управления цветами в блоках WordPress. Это мощный инструмент, который позволяет разработчикам легко интегрировать параметры стилизации непосредственно в редактор блоков. Этот компонент может значительно улучшить UX, делая настройки цветовой палитры более интуитивно понятными.
Пример использования в плагине
Рассмотрим, как зарегистрировать блок WordPress с компонентом BlockColorsStyleSelector
. В этом примере мы создадим блок, где можно изменять цвет текста непосредственно из панели инструментов:
import { registerBlockType } from '@wordpress/blocks';
import { __ } from '@wordpress/i18n';
import {
useBlockProps,
BlockControls,
BlockColorsStyleSelector,
} from '@wordpress/block-editor';
import './editor.scss';
const BLOCKNAME = "color-style-selector-example";
const BLOCKPATH = `custom-plugin/${BLOCKNAME}`;
registerBlockType( BLOCKPATH, {
apiVersion: 2,
title: __( 'Color Style Selector Example', 'custom-plugin' ),
description: __( 'A block demonstration with color style selector', 'custom-plugin' ),
category: 'design',
icon: 'brush',
attributes: {
textColor: {
type: 'string',
default: '#000000',
},
},
edit: ( { attributes, setAttributes } ) => {
const { textColor } = attributes;
return (
<div { ...useBlockProps() }>
<BlockControls>
<BlockColorsStyleSelector
value={ textColor }
onChange={ ( newColor ) => setAttributes( { textColor: newColor } ) }
colors={ [
{ name: 'black', color: '#000000' },
{ name: 'gray', color: '#7e7e7e' },
{ name: 'red', color: '#ff0000' },
{ name: 'green', color: '#00ff00' },
] }
/>
</BlockControls>
<p style={ { color: textColor } }>
{ __( 'This is a sample text with a changable color!', 'custom-plugin' ) }
</p>
</div>
);
},
save: ( { attributes } ) => {
const { textColor } = attributes;
return (
<p style={ { color: textColor } }>
{ __( 'This is a sample text with a changable color!', 'custom-plugin' ) }
</p>
);
},
} );
Этот код регистрирует новый блок, который позволяет конечным пользователям выбирать цвет текста с помощью
BlockColorsStyleSelector
. Параметры цвета устанавливаются в панеле инструментов, интегрированной в компонентBlockControls
.
Разработка и настройка
При разработке компонентов важно учитывать, какие стили и опции управления нужны пользователю. Стилизация — это один из ключевых факторов, и добавление возможности изменять цвет иконок и текста прямо из редактора может значительно повысить удобство использования и гибкость ваших блоков.
Ключ заключается в правильной интеграции и использовании атрибутов блоков. Компонент BlockColorsStyleSelector
фокусируется на разнообразии цветов, тем самым предоставляя пользователю широкий спектр возможностей для персонализации.
Заключение
BlockColorsStyleSelector
— не просто полезный, но и необходимый инструмент для каждого разработчика блоков WordPress. Это позволяет значительно расширить возможности дизайна блоков и сделать редактор более интерактивным и удобным для конечных пользователей.