• 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

Ocultar la opción de desbloquear bloques según el tipo de entrada en WordPress

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

Con la llegada del editor de bloques y del sitio (Site Editing) a WordPress, una de las preocupaciones de diseñadores y desarrolladores es que el usuario final tenga «demasiado» control sobre el diseño y pueda «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 eliminar 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 de cumplir su principal cometido, ¿no crees?

En un tutorial anterior te expliqué cómo puedes bloquear esta interfaz para que solo esté accesible por rol de usuario para que, por ejemplo, que solo los administradores tengan acceso.

En este te voy a explicar cómo hacerlo para un determinado tipo de entrada (post, páginas, entradas de un CPT…). 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.

Ocultar la interfaz de bloqueo de bloques en un tipo de entrada determinado

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 no se muestre la interfaz de bloqueo de bloques en páginas.

Una vez aplicado, los usuarios cuando vayan a editar una página 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 en página

Si lo quieres aplicarlo a otro tipo de entrada solo tienes que modificar el código. Por, ejemplo, este sería el snippet que tendrías que usar si quisieras limitarlo en las entradas del CPT de cursos:

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

Conclusión

Ahora ya sabes cómo bloquear algunos bloques de un determinado tipo de entrada (post, páginas, entradas de un CPT…) 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/limitar-bloqueo-bloques-administradores-wordpress/
  • https://codigogenesis.com/crear-plugin-funcionalidades-wordpress/

CPT Editor de bloques Entrada Página 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?