В этой статье мы рассмотрим функцию get_block_wrapper_attributes()
в WordPress, которая используется для получения атрибутов обертки блока. Эта функция полезна для разработчиков, желающих добавить стандартные атрибуты, такие как классы и стили, к обертке блока в редакторе Gutenberg.
Описание функции
Функция get_block_wrapper_attributes()
возвращает строку атрибутов, которые можно добавить к HTML-обертке блока.
get_block_wrapper_attributes( $extra_attributes = array() )
Параметры:
$extra_attributes
(массив): Дополнительные атрибуты, которые нужно добавить к обертке блока. По умолчанию пустой массив.
Возвращаемое значение:
- Строка атрибутов для HTML-обертки блока.
Примеры использования
Рассмотрим несколько примеров использования функции get_block_wrapper_attributes()
.
Основное использование функции
Этот пример показывает, как получить атрибуты обертки блока и использовать их в пользовательском блоке:
function render_custom_block( $attributes, $content ) {
$wrapper_attributes = get_block_wrapper_attributes();
return sprintf( '<div %s>%s</div>', $wrapper_attributes, $content );
}
register_block_type( 'myplugin/custom-block', array(
'render_callback' => 'render_custom_block',
) );
Добавление дополнительных атрибутов
Вы можете добавить дополнительные атрибуты к обертке блока, передав их в качестве параметра:
function render_custom_block_with_extra_attributes( $attributes, $content ) {
$extra_attributes = array(
'data-custom' => 'value',
'aria-label' => 'Custom Block',
);
$wrapper_attributes = get_block_wrapper_attributes( $extra_attributes );
return sprintf( '<div %s>%s</div>', $wrapper_attributes, $content );
}
register_block_type( 'myplugin/custom-block', array(
'render_callback' => 'render_custom_block_with_extra_attributes',
) );
Использование атрибутов в динамическом блоке
Этот пример показывает, как использовать get_block_wrapper_attributes()
в динамическом блоке, который выводит текущую дату:
function render_dynamic_date_block( $attributes ) {
$wrapper_attributes = get_block_wrapper_attributes();
$current_date = date( 'Y-m-d' );
return sprintf( '<div %s><p>Текущая дата: %s</p></div>', $wrapper_attributes, esc_html( $current_date ) );
}
register_block_type( 'myplugin/dynamic-date-block', array(
'render_callback' => 'render_dynamic_date_block',
) );
Пример использования с фильтрацией атрибутов
Вы можете фильтровать атрибуты обертки блока перед их использованием:
function add_custom_class_to_wrapper( $attributes ) {
$attributes['class'] .= ' custom-class';
return $attributes;
}
add_filter( 'block_wrapper_attributes', 'add_custom_class_to_wrapper' );
function render_custom_block_with_filter( $attributes, $content ) {
$wrapper_attributes = get_block_wrapper_attributes();
return sprintf( '<div %s>%s</div>', $wrapper_attributes, $content );
}
register_block_type( 'myplugin/custom-block', array(
'render_callback' => 'render_custom_block_with_filter',
) );
Заключение по get_block_wrapper_attributes
Функция get_block_wrapper_attributes()
предоставляет разработчикам удобный способ добавления стандартных и дополнительных атрибутов к обертке блока в редакторе Gutenberg. Это позволяет гибко управлять отображением и функциональностью блоков на сайте.