Cómo crear bloques personalizados con Genesis Custom Blocks

Genesis Custom Blocks es un plugin que permite crear bloques personalizados para Gutenberg sin necesidad de programar JavaScript. En esta guía aprenderás a desarrollar tus propios bloques paso a paso utilizando campos personalizados y plantillas PHP.

Aunque forma parte del ecosistema Genesis, puede utilizarse con cualquier tema de WordPress.

Una vez el plugin instalado y activado nos apare un nuevo item en el menú lateral izquierdo del administrador.

Bien, ya tenemos nuestro plugin instalado, ahora tenemos que saber donde colocar los ficheros necesarios para crear el bloque. Los crearemos mas adelante.

En la documentación nos indica donde tenemos que colocar los ficheros necesarios para crear el bloque. Nos dice que tenemos que crear la carpeta ‘blocks‘ en la raíz del proyecto, en esta carpeta irán todos los bloque personalizados, es decir los bloques que creemos.

Por cada bloque que vallamos a crear, dentro de la carpeta ‘blocks‘, tendremos de crear una nueva carpeta que contendrá al menos dos ficheros, ‘block.php‘ y ‘block.css‘, si necesitáramos alguna funcionalidad extra podemos añadir un fichero .js, no es el caso en los dos sencillos ejemplos que veremos.

Queremos crear un bloque de botón personalizado, al analizarlo veremos que necesitamos un texto en el botón y un enlace indicando la url a la cuál nos llevará al hacer click en él.
Más adelante lo tenemos que plasmar en el fichero .php.

Vamos al administrador y hacemos click en ‘Bloques personalizados – Añadir nuevo‘, esto nos abre una pantalla donde nos pide un nombre para ese bloque, podemos poner ‘Bloque de botón’, a la derecha de la pantalla vemos que tenemos unas opciones.

Tenemos el ‘Slug‘ del bloque.
Cuidado con las tildes, al menos en el idioma español pues no los considera y elimina esa letra.
Podemos modificar ese ‘slug‘ y colocar ‘bloque-boton‘.

En ‘Icons‘ elegimos un icono que identifique al bloque, hacemos click y lo elegirlo dentro del desplegable.

En ‘Category‘ colocamos la categoría a la que pudiese pertenecer el bloque, si no lo identifica las categorías que vienen por defecto podemos crear una nueva.

Las ‘Keywords‘ son palabras o trozos de palabras que nos servirán para buscar el bloque dentro del listado de bloques. podemos poner por ejemplo ‘Genesis’

En ‘Post Types‘ podemos marcar donde deseamos colocar el bloque.
En nuestro caso, en entradas, páginas y en el cpt libros.

Creando los campos del bloque

Tenemos esto.

Al hacer click en el botón más tenemos.

A la derecha de la imagen anterior, estando en el panel de administración tenemos una barra donde se define el campo.

Field Label, corresponde al nombre del campo. Pondremos ‘URL Enlace’.

Field Name (slug), lo necesitaremos cuando tengamos que llamar a este campo. Lo llamaremos url-boton

Field Type, corresponde a al tipo de bloques, seleccionamos URL.

Después tenemos otros campos donde podemos dar ayuda al usuario WordPress que rellene los datos.

Por ejemplo, en el Texto del marcador de posición podemos poner ‘Url de destino’.

Para crear el campo del texto del enlace creamos un nuevo campo, ponemos como nombre ‘Texto del enlace‘ y como ‘slug’ ponemos ‘texto-enlace’. El resto de campos los rellenamos como en el campo anterior.

Una vez publicado o guardado como borrador nos sugiere una ruta dentro de nuestro proyecto, tal como se ve en la imagen inferior.

Quizás sea mejor como ruta wp_content/themes/tu-tema/blocks/bloque-boton/block.php

Creación de la carpeta y ficheros necesarios

Creamos la carpeta y los dos ficheros mencionados al principio, es decir, creamos la carpeta ‘bloque-boton‘ y dentro de ella los ficheros ‘block.php‘ y ‘block.css

Ficheros .php y .css

Dijimos anteriormente que la plantilla debe de contener un texto en el botón y un enlace indicando la url a la cuál nos llevará al hacer click en él.
Además en el fichero .css meteremos los estilos necesarios para ver botón según nuestro diseño.

   

Ahora, estando en el administrador y en la plantilla donde queremos colocar nuestro nuevo bloque de botón solo tendremos que localizarlo en los bloques disponible y al hacerlo nos aparecerá algo así, debemos de colocar los datos necesarios:

Al hacer click sobre cualquier parte exterior al bloque del botón y si el proceso ha sido correcto tendremos este botón disponible:

Galería de imágenes con enlaces

En este segundo ejemplo veamos como crear una galería de imágenes donde cada imagen tendrá un enlace que bien puede ser a otra página del mismo proyecto o a un sitio exterior. Algo así:

Los campos que necesitamos para cada ítem de la galería serán: La imagen, el texto del enlace y la url del enlace, es decir necesitamos tres campos por cada ítem de la galería.

Vamos al administrador y hacemos click en ‘Bloques personalizados – Añadir nuevo‘, esto nos abre una pantalla donde nos pide un nombre para ese bloque, podemos poner ‘Galería de Imágenes Personalizadas’, a la derecha de la pantalla vemos que tenemos unas opciones.
Una vez estas opciones rellenadas tenemos esto.

Creamos los ficheros necesarios si aún no le hemos hecho,.
Estando en el administrador y en la plantilla que deseemos colocar el bloque, lo buscamos y colocamos, veremos algo así por cada ítem que tengamos.

Subimos las imágenes, colocamos el texto y el enlace por cada imagen.

Publicamos o guardamos y ya lo tenemos, si vas al navegador y si todo ha ido bien nos aparecerá la galería tal cual la hemos diseñado.

Genesis Custom Blocks ofrece dos funciones principales para mostrar datos:

Imprime directamente el valor:

Problemas:
   • No devuelve el valor.
   • No podemos validarlo.
   • No podemos aplicar escapes personalizados.
   • Menor control.

Devuelve el valor para que lo podamos manipular.

Ventajas:
   • Separación entre lógica y vista.
   • Permite validaciones.
   • Permite fallback.
   • Mejor mantenimiento.
   • Mayor seguridad.

En desarrollos profesionales se recomienda usar siempre block_value().

Escapa según el contexto:

Texto planoesc_html()
HTML permitidowp_kses_post()
URLesc_url()
Atributosesc_attr()

Escapa siempre aunque lo hallas colocado tú.

Si quieres crear bloques personalizados en WordPress usando PHP de forma rápida y estructurada, Genesis Custom Blocks es una herramienta excelente.

Nos permite:

   • Crear bloques reutilizables.
   • Separar lógica y presentación.
   • Mantener código limpio.
   • Escalar proyectos profesionales.

Si además aplicas buenas prácticas como usar block_value( ) y escapar correctamente la salida, tendrás bloques seguros, optimizados y fáciles de mantener.

Como has visto, Genesis Custom Blocks permite crear bloques personalizados para Gutenberg de forma sencilla utilizando campos personalizados y plantillas PHP. Además, si aplicas buenas prácticas como el uso de block_value() y el escapado correcto de la salida, podrás desarrollar bloques seguros, optimizados y fáciles de mantener.

Puedes ampliar conocimientos visitando