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 ().
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
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.
Jose Luis González dice
Hola,
He leído muchos de tus post y aunque veo que este tiene ya algún tiempo se que los plugins se mantienen actualizados a día de hoy.
Quería saber si Use Roler Editor me podría servir para el siguiente caso: Lo que necesito es tener distintos tipos de clientes y que según el tipo pueda mostrar una u otra forma de pago que gestionare con WooCommerce Role-Based Shipping/Payment Methods. Básicamente lo que necesito saber es es si con Use Roler Editor puedo crear un nuevo tipo de cliente (institucional) además del que ya existe.
Por ejemplo si el cliente es un cliente normal se mostrara la forma de pago por tarjeta, pero tengo otro tipo de clientes que pertenecen a entidades públicas o privadas, administración, etc.. y en este caso no pagan en el momento de la compra si no que pagan mas tarde según el acuerdo con cada una de esas entidades, para ellos quiero que solo aparezca una forma de pago, por ejemplo institucional. Este es el tipo de cliente que necesito crear. Luego con WooCommerce Role-Based Shipping/Payment Methods asignare la forma de pago a uno u otro tipo de cliente (normal o institucional).
Esto es posible?
Gracias. Un saludo.
Jose Luis González
Enrique J. Ros dice
Hola,
Sí, tal y como explico en el artículo, con él puedes crear, duplicar, eliminar o modificar roles de usuario.
Un saludo,
Enric dice
Hola,
Antes de nada agradecerte tus aportaciones, por lo interesantes, claras, concisas y profesionales. Muchas gracias.
Tengo una duda que te comento por si puedes ayudarme: estoy utilizando el plugin , me parece más intuitivo, pero no veo la manera de bloquear el de a un role .
Un saludo.
Enric
Enric dice
Hola,
Antes de nada agradecerte tus aportaciones, por lo interesantes, claras, concisas y profesionales. Muchas gracias.
Tengo una duda que te comento por si puedes ayudarme:
Estoy utilizando el plugin User Role Editor, me parece más intuitivo, pero no veo la manera de bloquear el settings de Woocommerce a un role Shop manager.
Un saludo.
Enric