Descubre en este tutorial cómo introducir un patrón al final de las entradas en un tema de bloques de WordPress forma condicional usando la block hook API.
Una de las ventajas de algunos temas clásicos era la posibilidad de poder «enganchar» contenido donde te convenía.
Un ejemplo es el de añadir el típico CTA al final de una entrada, incluir un banner superior, etc.
Pero ha llegado la era de los bloques y patrones, así que merece la pena cambiar algunos hábitos y empezar a sacarles partido, ¿no te parece?
De hecho, una de las novedades de WordPress 6.5 fue la nueva block hook API, que te permite «enganchar» bloques o patrones de bloques a un tipo de bloque concreto.
Y esta es una herramienta perfecta para conseguir lo mismo que conseguías en los temas clásicos, pero ahora usando el nuevo paradigma de los bloques.
Aquí tienes cómo hacerlo:
Pasos para mostrar un patrón de bloques al final de las entradas
1. Elige el patrón de bloques que quieres mostrar
La mayoría de temas suelen ofrecer una variedad de patrones de bloques en los que casi siempre incluyen CTAs de algún tipo. Si te sirve alguno puedes usarlo directamente, solo necesitas saber el slug. Si no lo sabes puede usar este tutorial para conocer todos los patrones de bloques que están registrados en tu WordPress.
Si no, también tienes la opción de registrar tu propio patrón de bloques.
Una vez ya sepas qué patrón de bloques es el que quieres mostrar, sigue con el siguiente paso.
2. Añade la funcionalidad
Añade el siguiente fragmento al final del fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2107 snippets de esta web,
identifícate o suscríbete aquí.
Este código comprende de dos pasos:
- Usas el filtro
hooked_block_typespara añadir un patrón después del bloque de contenido de la entrada. Para ello usas varios condicionales:'single' === $context->slug: para que solo afecte las entradas'core/post-content' === $anchor_block_type: donde indicas que el bloque que se usará para engancharse es el de contenido de la entrada.'after' === $relative_position: donde indicas que se enganchará después del bloque de contenido de la entrada- Y también usas
$hooked_block_types[] = 'core/pattern', para indicar que lo que se va a enganchar es un patrón de bloques.
- Usas el filtro
hooked_block_core/patternpara indicar qué patrón es el que quieres insertar. Además, añades el condicional! is_user_logged_in()para que solo se muestre a usuarios que no están logueados.
En este caso, estás mostrando el patrón uprising-next/cta, pero la idea es que lo cambies para usar el de tu tema. O incluso de un plugin, si así lo prefieres.

También puedes usar otros condicionales para que se muestre, por ejemplo, solo al final de entradas de una determinada categoría. Para ello solo tendrías que añadir el condicional has_term('novedades', 'category).
Y este solo es un ejemplo, puedes usar todo el potencial de las etiquetas de WordPress para controlar cuándo se muestra el patrón.
Conclusión
Ahora, gracias a la API de ganchos de bloques (block hook) y a las etiquetas condicionales de WordPress, ya puedes conseguir que se muestre el patrón que tú elijas al final de todas las entradas de forma condicional.
¿Alguna duda? Te leo en los comentarios.
Y si quieres darme una sugerencia para próximos tutoriales, déjamela en el formulario de contacto. Ventajas de ser suscriptor. 😉