Ось короткий опис того, як блокові плагіни можуть використовувати хуки WordPress, зокрема нову функцію блокових хуків, представлену в WordPress 6.4:
1. Принципи блочних хуків:
- Автоматичне розміщення: блоки можуть автоматично позиціонувати себе, коли інший блок додається до вмісту, усуваючи потребу вручну вставляти.
- Видимість і контроль: вставлений блок видно в редакторі, і користувачі зберігають контроль над його автоматичним вставленням, що дозволяє налаштовувати процес редагування.
2. Обмеження та міркування:
- Block Hooks працюють лише в незмінених шаблонах, частинах шаблонів і шаблонах, наданих темами. Вони не функціонують у вмісті публікацій, змінених шаблонах/частинах або створених користувачами шаблонах.
- Починаючи з WordPress 6.4, автоматичне вставлення не працює з блоками, які мають спеціальну функцію збереження, оскільки це може призвести до помилок перевірки блоку. Розробники повинні використовувати динамічні блоки для сумісності.
3. Два способи зачепити блоки:
a. Використовуючи `block.json`:
- Забезпечує простий спосіб підключення стороннього блоку, але з обмеженою гнучкістю.
— Властивість `blockHooks` у `block.json` дозволяє вказати позицію підключеного блоку (до, після, перший дочірній елемент, останній дочірній).
b. Використання фільтра `hooked_block_types`:
- Пропонує більшу гнучкість порівняно з `block.json`, дозволяючи умовне підключення на основі шаблону, частини шаблону або шаблону.
- Функція зворотного виклику для `hooked_block_types` отримує такі параметри, як підключені блоки, позиція, блок прив’язки та контекст.
4. Зауваження для розробників:
- Підключені блоки з'являться в редакторі сайту, надаючи користувачам можливість контролювати їх розміщення. Розробники не можуть форсувати положення блоку, якщо користувач хоче його перемістити.
- Перехоплення статичних блоків (з власними функціями збереження) не рекомендується, оскільки це може спричинити помилки перевірки блоку. Динамічні блоки є кращим вибором для Block Hooks.
- Розробники повинні переконатися, що їх підключені блоки сумісні з поточною версією WordPress і її API блоків-перехоплювачів.
Підводячи підсумок, можна сказати, що нова функція 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/