Aquí hay un resumen de cómo los complementos de bloque pueden usar los ganchos de WordPress, específicamente la nueva función de Ganchos de bloque introducida en WordPress 6.4:
1. Principios de los ganchos de bloque:
- Colocación automática: los bloques pueden posicionarse automáticamente cuando se agrega otro bloque al contenido, eliminando la necesidad de inserción manual.
- Visibilidad y control: el bloque insertado es visible en el editor y los usuarios conservan el control sobre su inserción automática, lo que permite una experiencia de edición personalizada.
2. Limitaciones y consideraciones:
- Los Block Hooks solo funcionan en plantillas no modificadas, partes de plantillas y patrones proporcionados por temas. No funcionan en contenido de publicaciones, plantillas/partes modificadas ni en patrones generados por el usuario.
- A partir de WordPress 6.4, la inserción automática no funciona con bloques que tienen una función de guardado personalizada, ya que puede provocar errores de validación de bloques. Los desarrolladores deberían utilizar bloques dinámicos para mayor compatibilidad.
3. Dos formas de enganchar bloques:
a. Usando `block.json`:
- Proporciona una forma sencilla de conectar un bloque de terceros, pero con flexibilidad limitada.
- La propiedad `blockHooks` en `block.json` permite especificar la posición del bloque enganchado (antes, después, primer hijo, último hijo).
b. Usando el filtro `hooked_block_types`:
- Ofrece más flexibilidad en comparación con `block.json`, permitiendo enlaces condicionales basados en la plantilla, parte de la plantilla o patrón.
- La función de devolución de llamada para `hooked_block_types` recibe parámetros como los bloques enganchados, la posición, el bloque de anclaje y el contexto.
4. Consideraciones para desarrolladores:
- Los bloques enganchados aparecerán en el Editor del sitio, dando a los usuarios control sobre su ubicación. Los desarrolladores no pueden forzar la posición de un bloque si el usuario quiere moverlo.
- No se recomienda enganchar bloques estáticos (con funciones de guardado personalizadas), ya que puede causar errores de validación de bloques. Los bloques dinámicos son la opción preferida para los Block Hooks.
- Los desarrolladores deben asegurarse de que sus bloques enganchados sean compatibles con la versión actual de WordPress y su API Block Hooks.
En resumen, la nueva función Block Hooks en WordPress 6.4 y versiones posteriores proporciona una manera poderosa para que los complementos de bloques inserten automáticamente sus bloques en ubicaciones específicas, al mismo tiempo que permite a los usuarios controlar la ubicación de esos bloques dentro del Editor del sitio.
Citas:[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/