Uno de los casos más útiles al trabajar con Gutenberg es crear un botón que abra un popup personalizado, sin necesidad de instalar plugins. Aquí te muestro cómo hacerlo desde cero: crearás un botón con el editor de bloques de WordPress y un modal con HTML, CSS y JavaScript que será 100% funcional y visualmente atractivo.
Paso 1: Crear el botón con Gutenberg
- Abre cualquier página o entrada desde el editor de WordPress.
- Añade un bloque Botón.
- Cambia el texto a «Abrir Popup».
- En la configuración del bloque, en la pestaña Avanzado, añade una clase CSS personalizada, por ejemplo:
boton-abrir-popup.

Paso 2: Añadir el código del popup en un bloque HTML personalizado
Debajo del botón, añade un bloque HTML personalizado e inserta el siguiente código:
<style>
#popup-overlay {
display: none;
position: fixed;
top: 0; left: 0; right: 0; bottom: 0;
background: rgba(0, 0, 0, 0.6);
justify-content: center;
align-items: center;
z-index: 9999;
}
#popup-contenido {
background: #fff;
padding: 30px;
max-width: 400px;
width: 90%;
border-radius: 8px;
box-shadow: 0 5px 15px rgba(0,0,0,0.3);
text-align: center;
position: relative;
}
#popup-contenido button.cerrar {
position: absolute;
top: 10px;
right: 10px;
background: none;
border: none;
font-size: 20px;
cursor: pointer;
}
</style>
<div id="popup-overlay">
<div id="popup-contenido">
<button class="cerrar">×</button>
<h2>¡Hola!</h2>
<p>Este es un popup sin plugins hecho con JavaScript y CSS.</p>
</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function(){
const boton = document.querySelector('.boton-abrir-popup');
const popup = document.getElementById('popup-overlay');
const cerrar = popup.querySelector('.cerrar');
if (boton && popup && cerrar) {
boton.addEventListener('click', () => {
popup.style.display = 'flex';
});
cerrar.addEventListener('click', () => {
popup.style.display = 'none';
});
popup.addEventListener('click', (e) => {
if (e.target === popup) {
popup.style.display = 'none';
}
});
}
});
</script>
Lenguaje del código: HTML, XML (xml)

¿Cómo funciona este flujo?
- El usuario hace clic en el botón Gutenberg.
- Se activa el popup (overlay) que aparece centrado y bloquea el fondo.
- Dentro del popup hay un título, un texto y un botón de cerrar (una «×»).
- El popup se puede cerrar pulsando la «×» o haciendo clic fuera del contenido (sobre el overlay oscuro).

Conclusión
Como ves, crear un popup personalizado con Gutenberg y JavaScript y CSS es muy sencillo y no requiere de plugins externos ni librerías complicadas. Con solo un bloque de botón y un poco de código HTML y JS, puedes tener una solución funcional y ligera que puedes personalizar al máximo. Esta técnica es ideal para mantener tu WordPress optimizado, sin sobrecargarlo con plugins adicionales, y al mismo tiempo darle un toque profesional a tus páginas o landings.




Deja tus dudas y opiniones en los comentarios.
# Genial, me ha encantado. Una pregunta solo. Necesito crear varios po-pups de estos en diferentes páginas. ¿Como sería para no tener que agregar el css y javascript en todas las páginas? Si lo agrego en la pestaña de css en personalizar serviría para todos los botones? Muchas gracias por todo este contenido.
Hola, si vas agregar el popup en 2 o 3 páginas distintas este método te sirve, no hay problema. Otra cosa es que en cada página del blog haya un botón de popup, entonces sería mejor meter el Javascript y CSS en el footer y crear un shortcode con PHP e insertas el shortcode en todas las páginas que quieras. Si necesitas ayuda con esto, escríbeme por WhatsApp y te doy presupuesto. Saludos.