Описание get_block_templates
— Filter
Хук get_block_templates позволяет изменять массив доступных шаблонов блоков перед их использованием. Он срабатывает при загрузке шаблонов блоков, что дает возможность разработчикам добавлять, изменять или удалять шаблоны блоков, используемые в редакторе Gutenberg
Примеры использования
Пример добавления нового шаблона блока:
add_filter('get_block_templates', function($templates) {
$templates[] = [ 'title' => 'Мой шаблон', 'slug' => 'my-template', 'content' => 'Это мой новый шаблон
' ];
return $templates;
});
В этом примере мы добавляем новый шаблон блока с названием ‘Мой шаблон’
Пример изменения существующего шаблона:
add_filter('get_block_templates', function($templates) {
foreach ($templates as &$template) {
if ($template['slug'] === 'existing-template') {
$template['content'] = 'Обновленный контент
';
}
}
return $templates;
});
Здесь мы обновляем содержимое существующего шаблона блока с идентификатором ‘existing-template’
Пример удаления шаблона:
add_filter('get_block_templates', function($templates) {
return array_filter($templates, function($template) {
return $template['slug'] !== 'template-to-remove';
});
});
В этом примере мы удаляем шаблон с идентификатором ‘template-to-remove’ из массива
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить доступные шаблоны блоков в редакторе Gutenberg, особенно при разработке кастомных тем или плагинов
– Производительность
Убедитесь, что изменения не приводят к значительным накладным расходам на производительность, так как это может сказаться на скорости загрузки редактора
– Предупреждения
Будьте осторожны с изменением или удалением стандартных шаблонов, так как это может повлиять на пользовательский опыт и функциональность
Альтернативы
Тип: function
Эта функция позволяет регистрировать новые шаблоны блоков в Gutenberg без использования хуков
Используйте её, если вам нужно создать и зарегистрировать шаблон блока в коде, а не модифицировать существующий