Вот краткое описание того, как блочные плагины могут использовать хуки WordPress, в частности новую функцию Block Hooks, представленную в WordPress 6.4:
1. Принципы блокирования хуков:
- Автоматическое размещение: блоки могут автоматически позиционироваться при добавлении к контенту другого блока, что устраняет необходимость вставки вручную.
- Видимость и контроль: вставленный блок виден в редакторе, и пользователи сохраняют контроль над его автоматической вставкой, что позволяет настраивать возможности редактирования.
2. Ограничения и соображения:
- Блок-хуки работают только в неизмененных шаблонах, частях шаблонов и шаблонах, предоставленных темами. Они не работают в контенте публикации, измененных шаблонах/частях или шаблонах, созданных пользователем.
— Начиная с WordPress 6.4, автоматическая вставка не работает с блоками, имеющими специальную функцию сохранения, поскольку это может привести к ошибкам проверки блока. Разработчикам следует использовать динамические блоки для совместимости.
3. Два способа зацепить блоки:
а. Использование `block.json`:
— Обеспечивает простой способ подключения стороннего блока, но с ограниченной гибкостью.
— Свойство «blockHooks» в «block.json» позволяет указать положение прикрепленного блока (до, после, первого дочернего элемента, последнего дочернего элемента).
б. Использование фильтра `hooked_block_types`:
- Предлагает большую гибкость по сравнению с `block.json`, позволяя выполнять условное перехват на основе шаблона, части шаблона или шаблона.
— Функция обратного вызова для «hooked_block_types» получает такие параметры, как прикрепленные блоки, позиция, блок привязки и контекст.
4. Соображения для разработчиков:
- В редакторе сайта появятся прикрепленные блоки, что позволит пользователям контролировать их размещение. Разработчики не могут принудительно изменить положение блока, если пользователь хочет его переместить.
— Перехват статических блоков (с помощью пользовательских функций сохранения) не рекомендуется, так как это может привести к ошибкам проверки блоков. Динамические блоки являются предпочтительным выбором для Block Hooks.
— Разработчики должны убедиться, что их привязанные блоки совместимы с текущей версией WordPress и ее API Block Hooks.
Таким образом, новая функция Block Hooks в WordPress 6.4 и более поздних версиях предоставляет плагинам блоков мощный способ автоматически вставлять свои блоки в определенные места, при этом позволяя пользователям контролировать размещение этих блоков в редакторе сайта.
Цитаты:[1] https://github.com/WordPress/gutenberg/issues/54904
[2] https://kinsta.com/blog/wordpress-hooks/
[3] https://essential-blocks.com/block-hooks-everything-you-need-to-know/
[4] https://www.youtube.com/watch?v=ezPHiyhhaoQ
[5] https://developer.wordpress.org/block-editor/reference-guides/packages/packages-hooks/