Описание get_block_type_variations
— Filter
Хук get_block_type_variations позволяет изменить вариации блоков в редакторе Gutenberg. Он срабатывает при загрузке блоков и позволяет добавлять, изменять или удалять вариации для конкретного типа блока
Примеры использования
Пример добавления кастомной вариации к блоку параграфа:
add_filter('get_block_type_variations', function($variations, $block_type) {
if ($block_type === 'core/paragraph') {
$variations[] = [
'name' => 'custom-paragraph',
'title' => 'Кастомный параграф',
'attributes' => [
'color' => 'blue'
]
];
}
return $variations;
});
В этом примере мы добавляем кастомную вариацию к блоку параграфа с атрибутом цвета
Пример изменения названия существующей вариации блока изображения:
add_filter('get_block_type_variations', function($variations, $block_type) {
if ($block_type === 'core/image') {
foreach ($variations as &$variation) {
if ($variation['name'] === 'default') {
$variation['title'] = 'Стандартное изображение';
}
}
}
return $variations;
});
Здесь мы изменяем название стандартной вариации блока изображения на ‘Стандартное изображение’
Пример удаления вариации блока заголовка:
add_filter('get_block_type_variations', function($variations, $block_type) {
if ($block_type === 'core/heading') {
foreach ($variations as $key => $variation) {
if ($variation['name'] === 'some-variation') {
unset($variations[$key]);
}
}
}
return $variations;
});
В этом примере мы удаляем вариацию с именем ‘some-variation’ из блока заголовка
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить или расширить вариации блоков в редакторе Gutenberg
– Производительность
Хук не должен значительно влиять на производительность, если изменения не слишком сложны
– Предупреждения
Следите за тем, чтобы изменения не конфликтовали с существующими вариациями и не ухудшали пользовательский опыт
Альтернативы
Тип: action
Этот хук используется для регистрации новых блоков и их вариаций
Используйте его, если вам нужно создать новый блок с кастомными вариациями, а не изменять существующие