• 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 los colores a los que tiene acceso un usuario en un tema de WordPress

Descubre en este tutorial cómo impedir que un usuario sin rol de administrador pueda usar cualquier color en un tema de WordPress.

Con la llegada del editor de bloques y el editor del sitio (Site Editing) 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 6.1 llegaron varios filtros que permiten acceder a los valores del fichero theme.json y modificarlos. Si esto lo combinas con etiquetas condicionales basadas en el rol de usuario puedes controlar a qué ajustes tiene acceso cada uno de elloss:

Estos son algunos de los aspectos a los que puedes acceder:

  • Paleta de colores, gradientes y douotonos
  • Fuentes/Tipografía (familias, tamaño…)
  • Anchura del sitio
  • Espaciado
  • Estilos de los bloques
  • Variaciones de estilos globales
  • Gestión de los template parts o partes de plantillas (temas de bloques)
  • Gestión de los block templates o plantillas de bloques (temas de bloques)
  • Definir propiedades de CSS personalizadas
  • Y más.

Una opción muy interesante es bloquear los colores que están accesibles por rol de usuario. Por ejemplo, que solo los administradores tengan acceso a todas las opciones.

Controles de color que se muestran a administradores

De esta manera, te aseguras de que un usuario con rol de autor o editor no es «demasiado creativo» eligiendo los colores y se ve obligado/invitado a usar la paleta de colores ya definida.

Controles de color que se muestran a no administradores

Vamos a ver cómo puedes conseguirlo.

Mostrar todos los controles de color 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 1921 snippets de esta web,
identifícate o suscríbete aquí.

En este código utilizas el filtro wp_theme_json_data_theme en conjunción con la función current_user_can para que solo se muestren todos los controles de color a los administradores.

Una vez aplicado, los usuarios que no sean administradores no verán la opción de elegir cualquier color, la paleta por defecto o usar gradientes:

Controles de color que se muestran a no administradores

Básicamente verán los colores de la paleta de color que hayas definido en el tema.

Puedes personalizar a qué controles quieres que tengan acceso modificando el array de 'color'. Solo tienes que modifica el valor para que sea true o false dependiendo de lo que te interese.

Por ejemplo, si ni siquiera quieres que se muestre las opciones de «Texto», «Color» y «Enlace» (en los bloques que lo soporte) puedes usar el siguiente código:

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

Conclusión

Ahora ya sabes cómo limitar los controles de color que pueden usar los usuarios que no son administradores.

Esto te permite dar acceso clientes o colaboradores para que puedan modificar el contenido pero sin perder la coherencia de la paleta de colores designada.

Si tienes alguna duda te leo en los comentarios. Y si quieres dejarme una sugerencia para futuros tutoriales, envíamela a través del formulario de contacto.

Todo ventajas de ser suscriptor. 😉

Editor de bloques JSON PHP theme.json 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

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

¿Has olvidado tu contraseña?