• Saltar a la navegación principal
  • Saltar al contenido principal
Código Genesis

Código Genesis

Tutoriales de WordPress y Genesis Framework

  • Empieza aquí
  • Cuenta
    • Suscripción
    • Perfil
    • Actualizar tarjeta
    • Favoritos
    • Salir
  • Suscribirse
  • Acceder

Limitar la opción de bloquear bloques a los administradores de WordPress

Descubre en este tutorial cómo impedir que un usuario sin rol de administrador modifique los bloques que tú hayas bloqueado en WordPress.

Con la llegada del editor de bloques y el Full Site Editing (FSE) a WordPress una de las preocupaciones de diseñadores y desarrolladores es que el usuario final tiene «demasiado» control sobre el diseño y puede «cargarse» el trabajo del profesional.

Por eso, en WordPress 5.9 una de las características que llegó fue la posibilidad de bloquear los bloques. Gracias al atributo de lock puedes controlar este bloqueo, concretamente con dos opciones:

  • remove: controla si el bloque se puede eliminarse o no.
  • move: controla si el bloque se puede mover o no.

Cuando el ajuste de la opción es true aplica el bloqueo.

Este sería el marcado HTML de un bloque de un párrafo en el que está bloqueado tanto la opción de moverlo como de eliminarlo:

<!-- wp:paragraph {"lock":{"move":true,"remove":true}} -->
<p>Heading two</p>
<!-- /wp:paragraph -->

Con la versión de WordPress 6.0 llegó la interfaz de usuario que permite hacer estos cambios de forma visual. La opción está en el menú del bloque:

Opciones de bloqueo de bloques

Por defecto, todos los bloques se crean con las opciones de bloqueo desactivadas:

Opciones de bloqueo desactivadas

Y el usuario puede activarlas o desactivarlas haciendo clic en las opciones:

Opciones de bloqueo activadas

Los bloques que estén bloqueados mostrarán un icono de candado:

Bloque de párrafo bloqueado

Tener una interfaz de usuario para poder bloquear bloques está muy bien, pero si todos los usuarios pueden modificarlo y desbloquearlos, deja te cumplir su principal cometido ¿no crees?

Por eso una opción muy interesante es bloquear esta interfaz para que solo esté accesible por rol de usuario. Por ejemplo, que solo los administradores tengan acceso.

De esta manera, te aseguras de que el cliente no elimina o mueve bloques que no debería.

Vamos a ver cómo puedes conseguirlo.

Mostrar la interfaz de bloqueo de bloques solo a los administradores de WordPress

Añade el siguiente snippet al 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í.

En este código utilizas el filtro block_editor_settings_all en conjunción con la función current_user_can para que solo se muestre la interfaz de bloqueo de bloques a los administradores.

Una vez aplicado, los usuarios que no sean administradores no verán la opción de bloquear, ni la de mover, ni la de eliminar:

Opciones de bloqueo de bloques
opción ajuste bloque para bloquear oculta
Opciones de bloqueo de bloques oculta para no administradores

Tampoco verán el candado en los bloques bloqueados, ni la opción de mover arriba o abajo el bloque:

bloque párrafo bloqueado WordPress sin candado
Barra opciones bloque bloqueado para no administradores

Igual estás pensando, esto está genial para el 90% de mis clientes que solo usan la interfaz de usuario del editor. Pero hay otro 10% que sabría ir al editor de código y modificar lo que quieran.

Si es así, tienes que valorar si es mejor dejarles esa opción. Pero si crees que no deben tenerla puedes ocultar el editor de código del editor de bloques a usuarios no administradores.

Si quieres combinar ambas estrategias usa este snippet en lugar del anterior:

Para ver este código y los otros 2107 snippets de esta web,
identifícate o suscríbete aquí.

Con esto consigues ocultar tanto la interfaz de bloqueo de bloques como el editor de código. Esto es lo que verían usuarios no administradores:

Ajustes bloque bloqueado y sin edición HTML

Conclusión

Ahora ya sabes cómo bloquear algunos bloques e impedir que el cliente pueda modificarlos o eliminarlos por error.

Esto te permite que dar acceso al cliente para que pueda modificar el contenido pero sin perder la estructura que hayas creado.

¿Alguna pregunta o sugerencia para próximos snippets? Déjala en los comentarios.

Ventajas de ser suscriptor.

Tutoriales relacionados

  • https://codigogenesis.com/crear-plugin-funcionalidades-wordpress/
  • https://codigogenesis.com/ocultar-editor-codigo-wordpress-usuarios-no-administradores/

Editor de bloques PHP WordPress

Nahuai Badiola

Desarrollador web especializado en WordPress y Genesis Framework. CEO de Código Genesis y cofundador de OsomPress (temas y plugins para WordPress).

Para dejar dudas o preguntas sobre este código, puedes identificarte o suscribirte.

  • Empieza aquí
  • Sobre Código Genesis
  • Preguntas frecuentes
  • Contacto
  • Feed

Aviso legal · Política de privacidad · Política de cookies · Condiciones de contratación
Copyright © 2026 · Código Genesis

close-icon

¿Has olvidado tu contraseña?