Aqui está um resumo de como os plug-ins de bloco podem usar ganchos do WordPress, especificamente o novo recurso Block Hooks introduzido no WordPress 6.4:
1. Princípios dos Ganchos de Bloco:
- Posicionamento Automático: Os blocos podem se posicionar automaticamente quando outro bloco é adicionado ao conteúdo, eliminando a necessidade de inserção manual.
- Visibilidade e Controle: O bloco inserido fica visível no editor e os usuários mantêm o controle sobre sua inserção automática, permitindo uma experiência de edição personalizada.
2. Limitações e Considerações:
- Block Hooks funcionam apenas em modelos não modificados, partes de modelos e padrões fornecidos por temas. Eles não funcionam em conteúdo de postagem, modelos/partes modificados ou padrões gerados pelo usuário.
- A partir do WordPress 6.4, a inserção automática não funciona com blocos que possuem função de salvamento personalizada, pois pode resultar em erros de validação de bloco. Os desenvolvedores devem usar blocos dinâmicos para compatibilidade.
3. Duas maneiras de prender blocos:
a. Usando `block.json`:
- Fornece uma maneira simples de conectar um bloco de terceiros, mas com flexibilidade limitada.
- A propriedade `blockHooks` em `block.json` permite especificar a posição do bloco viciado (antes, depois, primeiro filho, último filho).
b. Usando o filtro `hooked_block_types`:
- Oferece mais flexibilidade em comparação com `block.json`, permitindo conexão condicional com base no modelo, parte do modelo ou padrão.
- A função de retorno de chamada para `hooked_block_types` recebe parâmetros como blocos hooked, posição, bloco âncora e contexto.
4. Considerações para desenvolvedores:
- Os blocos com ganchos aparecerão no Editor do Site, dando aos usuários controle sobre seu posicionamento. Os desenvolvedores não podem forçar a posição de um bloco se o usuário quiser movê-lo.
- Conectar blocos estáticos (com funções de salvamento personalizadas) não é recomendado, pois pode causar erros de validação de bloco. Blocos dinâmicos são a escolha preferida para Block Hooks.
- Os desenvolvedores devem garantir que seus blocos hooked sejam compatíveis com a versão atual do WordPress e sua API Block Hooks.
Em resumo, o novo recurso Block Hooks no WordPress 6.4 e posteriores fornece uma maneira poderosa para plug-ins de bloco inserirem automaticamente seus blocos em locais específicos, ao mesmo tempo que permite aos usuários controlar o posicionamento desses blocos no Editor do Site.
Citações:[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/