Cuando ayer hablaba de los roles de usuario y las capacidades de cada uno, ya adelanté que se pueden cambiar los permisos de usuario en WordPress. Si bien es cierto que no hay una opción para ello, en WordPress siempre está la alternativa del código. Y si se puede hacer por código, puedes estar seguro de que también hay plugins para ello.
Así que sí, hoy vamos a ver cómo podemos cambiar las capacidades de cada uno de los tipos de usuario y, mejor aún, cómo añadir a WordPress nuestros propios roles de usuario personalizado, de forma que podamos dar a cada tipo de usuario exactamente el nivel de acceso que necesita.
Yo siempre prefiero hacer estas cosas por código, porque así incluyes sólo y exclusivamente el código que necesitas haciendo la web más eficiente, mientras que con plugins se añadirán opciones que no vas a usar, variables que se guardan en la base de datos (consultas extra), condicionales que el servidor tendrá que comprobar (más tiempo de ejecución), etc.
Pero como al fin y al cabo escribo esto para usuarios y no para otros desarrolladores 🙂 te enseñaré un par de plugins con los que puedes realizar esta tarea fácilmente. ¡Vamos a ello!
Tabla de contenidos
Capability Manager Enhanced
Primeramente vamos a ver Capability Manager Enhanced, un plugin que te permite realizar de forma fácil e intuitiva cualquier tarea que tenga que ver con los roles de WordPress y sus capacidades:
- Crear roles
- Editar las capacidades de cada rol
- Copiar las capacidades de un rol existente a uno nuevo
Y cosas algo más avanzadas, como manejar roles a través de diversos sitios en un multisite. En fin, como te decía, prácticamente cualquier cosa que tenga que ver con la gestión de roles en WordPress.
Gestionar roles y capacidades con Capability Manager Enhanced
Pues no sólo te permite realizar todas esas operaciones, sino que además lo hace de forma muy fácil. Al activarlo tendrás dos nuevas opciones en el menú de administración, una en Herramientas > Capability Manager, y otra en Usuarios > Capabilities.
En Capability Manager tienes la gestión de los cambios: aquí puedes realizar una copia de seguridad de todos los cambios que hayas hecho, restaurar una copia de seguridad anterior o bien realizar un reset para devolver toda la configuración de roles y capacidades a la que trae WordPress por defecto.
Pero toda la potencia de este plugin está en el otro menú, en Usuarios > Capabilities:
Su funcionamiento es muy fácil. Basta con cargar cualquiera de los roles mediante la caja Select Role to View / Edit (arriba a la derecha) para poder ponerle o quitarle capacidades mediante las checkboxes. Fácil y rápido.
No sólo carga los cinco roles de WordPress, sino también cualquier otro rol existente en la instalación, y lo mismo para las capacidades. También mediante las cajas que hay arriba a la derecha se pueden añadir o copiar roles, e incluso crear capacidades.
Ojo con esto último, porque simplemente crear una capacidad y asignarla a un rol no sirve para nada: tenemos además que decirle a WordPress qué hace esa capacidad, qué acciones o privilegios tiene un usuario que la posee. Ahí sí que entramos en terreno de programación, porque eso lo definiremos en nuestros scripts con la función current_user_can ().
User Role Editor
Capability Manager Enhanced es un plugin muy potente que te permite realizar, como decía, cualquier operación con roles y capacidades.
Sin embargo, y por aquello de no limitarnos habiendo variedad, te presento una alternativa: User Role Editor, un plugin que te permite lo mismo, pero con otro diseño de interfaz:
¿Que cuál es mejor? Pues ambos son iguales. A mí me gusta algo más este último porque el tener las capacidades categorizadas en el menú de la izquierda me parece más cómodo y ordenado, pero vamos, ambos tienen la misma potencia y flexibilidad.
Por cierto que, si te fijas en la parte de abajo de la captura de pantalla, User Role Editor tiene una característica bastante útil, y es que permite ocultar la barra de administración (la barra negra de arriba) por roles de usuario.
Conclusiones
Ya lo ves, dos soluciones igualmente válidas para una tarea absolutamente imprescindible cuando son necesarias varias personas para gestionar la web. Aunque, como decía más arriba, la alternativa más eficiente es siempre el código.
Para cualquier duda, pregunta o consulta tienes a tu disposición, ya lo sabes, tanto los comentarios como el formulario de contacto.