🔐 Fran Salas Hide Blocks: Plugin Personal para Ocultar Bloques de Gutenberg

Últimamente he estado probando varios plugins del repositorio que prometen controlar la visibilidad de bloques según el tipo de usuario. Algunos están bien, pero muchos traen demasiado código, opciones innecesarias o dependencias externas para una funcionalidad que, en realidad, es muy simple.

Así que decidí hacer mi propio plugin: Fran Salas Hide Blocks. Un plugin personal, creado para mis propios proyectos, con una sola función clara: poder decidir si un bloque de Gutenberg se muestra a todo el mundo, solo a usuarios registrados o solo a los invitados.

Y nada más.

plugin ocultar bloques gutenberg

¿Qué bloques permite controlar?

Este plugin se integra perfectamente con los bloques nativos de WordPress, como:

  • Párrafos
  • Imágenes
  • Listas
  • Citas
  • Encabezados
  • Botones
  • Columnas
  • Tablas
  • Grupo
  • Contenedor (bloques envolventes)

Cuando seleccionas uno de estos bloques, verás en el panel lateral derecho una opción llamada «Visibilidad para usuarios», donde puedes elegir:

  • Mostrar este bloque a todos
  • Solo a usuarios logueados
  • Solo a invitados
ocultar mostrar bloques de gutenberg usuarios registrados

La visibilidad se gestiona desde el atributo del bloque y, al renderizar, se filtra automáticamente sin necesidad de ocultarlo por CSS ni cargar código extra.

¿Con qué bloques y plugins funciona?

Funciona perfectamente con:

  • Todos los bloques estándar de Gutenberg
  • Los bloques que permiten atributos personalizados (la mayoría de los básicos)

No funciona con:

  • Algunos bloques de plugins avanzados como Stackable, Spectra, Kadence Blocks o similares, que bloquean la extensión de atributos internos o renderizan su contenido de forma diferente.
  • Bloques con contenido dinámico en base a hooks internos o shortcodes que no se procesan como bloques normales.

Pero si usas Gutenberg tal como viene en WordPress (o con editores ligeros), va perfecto.

¿Requiere mantenimiento o actualizaciones frecuentes?

No. Y eso es parte de lo que más me gusta.

El plugin utiliza únicamente funciones nativas y estables de WordPress y Gutenberg:

  • En el editor, aprovecha los filtros estándar de bloques (editor.BlockEdit, blocks.registerBlockType)
  • En el renderizado, usa el filtro render_block, que es parte del núcleo de WordPress

No depende de librerías externas, ni de shortcodes, ni de APIs propensas a romperse. Está escrito con código limpio, en JavaScript plano (sin JSX ni herramientas de compilación), y funciona directamente en cualquier instalación moderna de WordPress.

Además, como lo uso personalmente en varios proyectos, si en algún momento veo que necesita ajustes o mejoras, lo actualizaré sin problema. Pero en principio, el plugin está creado con la intención de que funcione sin necesidad de mantenimiento constante, mientras WordPress mantenga la estructura actual de bloques.

Estructura mínima del plugin

El plugin tiene solo dos archivos:

  1. fran-salas-hide-blocks.php
    Es el archivo principal. Se encarga de encolar el JS para el editor y de ocultar el bloque en el renderizado según el usuario que visita la web.
  2. block-visibility.js
    Es el script que modifica el editor de bloques para añadir el selector de visibilidad en el panel derecho. Ya viene compilado (sin JSX) para evitar dependencias de build y que funcione directamente.

Y eso es todo. Sin panel de ajustes, sin opciones globales, sin assets innecesarios.

¿Y si quiero ampliarlo?

Estoy pensando en añadir soporte por roles de usuario (mostrar un bloque solo a administradores, editores, suscriptores…), pero sin perder la filosofía del plugin: mantenerlo lo más ligero posible.

Descarga e instalación

El plugin no está en el repositorio pero puedes descargarlo directamente desde la zona de descargas si eres suscriptor premium.

Una vez instalado, simplemente actívalo y edita cualquier entrada o página con Gutenberg. Al seleccionar un bloque compatible, verás el nuevo control en la barra lateral derecha.

Conclusión

A veces no hace falta complicarse. Si lo único que quieres es controlar si un párrafo, una imagen o cualquier bloque se muestra a usuarios registrados o no, este plugin hace justo eso. Sin ruido. Sin peso. Sin cosas de más.

Lo uso ya en varios de mis proyectos y lo dejo por aquí por si a alguien más le resulta útil.

Nos vemos en el siguiente tutorial. Un saludo.

5/5 - (7 votos)
Sobre estos plugins:
Todos los plugins creados por mí han sido desarrollados pensando en la ligereza, la optimización y la independencia de recursos externos. Solo utilizan librerías externas en caso de ser absolutamente necesario, y están diseñados para funcionar sin necesidad de actualizaciones frecuentes. Si en algún momento necesitan mejoras o compatibilidad, subiré una nueva versión a la zona de descargas premium.
Compartir Artículo

Un comentario

  1. Fran Salas Master WP 1 año atrás

    ¿Tienes alguna duda o sugerencia? Déjala en los comentarios.

¿Tienes una duda o sugerencia sobre este artículo?

Puedes dejar un comentario de forma anónima, sin necesidad de registrarte ni proporcionar ningún dato personal. Tu mensaje se publicará como “Usuario Anónimo No Premium”, un perfil que agrupa a todos los visitantes no registrados.

Importante: para evitar el spam automático, todos los comentarios anónimos deben comenzar con el símbolo #. Ejemplo: # Tengo una duda sobre los shortcodes personalizados...

Este espacio está destinado exclusivamente a preguntas concretas, dudas o sugerencias relacionadas con el contenido del artículo. Por respeto a los demás lectores, no se publicarán temas sin relación.

Privacidad y normas:
  • No tienes que agregar tu nombre, correo ni ningún otro dato identificativo.
  • No se permiten enlaces en comentarios anónimos.
  • No se permiten símbolos especiales como < o > (menor y mayor que), ya que se consideran intentos de insertar código y serán bloqueados.
  • Todos los comentarios anónimos pasan por revisión antes de ser publicados y solo se aprobarán si aportan valor al contenido del artículo.
¿Quieres comentar con tu nombre y que tu mensaje se publique al instante? Inicia sesión o regístrate.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

0%