Si estás construyendo un sitio de WordPress para clientes, o cualquier tipo de sitio que vaya a tener múltiples usuarios (¡o ambos!), necesitas una forma infalible de controlar los permisos exactos que tiene cada usuario en el sitio.
Por ejemplo, probablemente no quieras dar a un usuario normal acceso para instalar plugins, y dudo que quieras permitir a un cliente no técnico editar directamente los archivos de los temas.
Por eso es importante controlar exactamente qué tienen los diferentes usuarios y qué acciones pueden realizar. WordPress incluye un sistema de roles y capacidades de los usuarios.
En este post, primero definiré esos términos y repasaré los roles y capacidades por defecto para cada sitio de WordPress. Luego, te mostraré cómo puedes modificar esos roles por defecto o crear tus propios roles con capacidades personalizadas para tener más control sobre tu sitio.
¿Qué son los roles y capacidades de WordPress?
Definamos los roles y las capacidades de los usuarios.
Una capacidad es una acción específica que puede realizar un usuario. Todos estos son ejemplos de capacidades individuales:
- Publicar un post
- Ver un post privado
- Editar un post
- Activar un plugin
- Instalar un tema
- Moderar los comentarios
- Rol de administrador
- Rol de editor
- Rol de autor
- Rol de colaborador
- Rol de suscriptor
- Administrador de la tienda
- Cliente
- Crear nuevos roles y roles de usuario personalizados
- Editar las capacidades asociadas a cualquier rol (incluyendo los roles por defecto de WordPress)
- Seleccionar un rol existente en el desplegable de la parte superior
- Crear un nuevo rol haciendo clic en el botón Añadir rol de la derecha
- Nombre del rol (ID): todo en minúsculas sin espacios ni números.
- Nombre del rol para mostrar: puede utilizar texto normal. Esto es lo que aparecerá en el desplegable de roles cuando edite un usuario.
- Mostrar las capacidades en forma legible hace que sea un poco más simple ver lo que cada capacidad realmente hace.
- Las opciones de grupo en el lado izquierdo le permiten saltar rápidamente a capacidades específicas. Si tus plugins han añadido alguna capacidad, también verás cada plugin como un grupo único.
- Sólo concedido te permite filtrar sólo las capacidades a las que un rol realmente tiene acceso.
- Asignar varios roles a una sola cuenta de usuario
- Editar capacidades por usuario. Esto te permite controlar a qué tiene acceso un usuario específico sin necesidad de crear un rol especial sólo para ese usuario.
- Registra y añade un nuevo rol usando la función add_role
- Define las capacidades asignadas a ese rol usando un array
Por defecto, WordPress incluye 62 capacidades diferentes que cubren toda la funcionalidad principal de WordPress.
Un rol, por otro lado, es una colección de capacidades que puedes asignar a una cuenta de usuario real.
Puedes ver esto como una especie de jerarquía:
A cada cuenta de usuario se le asigna un rol que define un conjunto de capacidades permitidas.
Los roles y capacidades por defecto de los usuarios de WordPress
Por defecto, las instalaciones regulares de WordPress incluyen cinco roles por defecto:
También hay un sexto rol de usuario -Rol de superadministrador- que sólo se aplica a las instalaciones de WordPress Multisite.
Además, WordPress incluye las mencionadas 62 capacidades por defecto para cubrir todas las funciones principales de WordPress.
Puedes ver la lista completa de capacidades por defecto, y a qué roles están asignadas, en la tabla WordPress Codex Capability vs. Role. Role Table:
Tu sitio podría tener más roles y capacidades
Además de estos valores predeterminados, algunos plugins también crearán sus propios roles y/o capacidades.
Por ejemplo, WooCommerce añade roles de usuario para:
Así como una serie de capacidades asociadas para gestionar productos, pedidos, etc.
Otros plugins que añaden funcionalidades detalladas probablemente tendrán sus propias capacidades y, potencialmente, roles.
Cómo establecer el rol de un usuario en tu sitio WordPress
Para editar el rol de un usuario, haz clic en la pestaña Usuarios de tu panel de control y edita el usuario al que quieres dirigirte.
Después, desplázate hasta el desplegable Rol y selecciona el rol de usuario que quieres aplicar a ese usuario:
Si permites el registro público, también puedes cambiar el rol por defecto que se aplica a los nuevos usuarios de tu sitio yendo a Ajustes → General:
Cómo crear roles y/o editar capacidades en WordPress
Ahora que sabes lo que son los roles y las capacidades, vamos a entrar en cómo puedes empezar a manipular realmente los roles y las capacidades para crear tus propios permisos de acceso de usuario personalizados.
Como es la manera de WordPress, puedes hacer esto usando un plugin o con tu propio código personalizado.
Empezaré con el método del plugin porque es un poco más accesible y flexible, pero también te mostraré cómo funciona el código más adelante.
Usando el Editor de Roles de Usuario para Gestionar Roles y Capacidades
El Editor de Roles de Usuario es un popular plugin gratuito que te da una interfaz gráfica para:
El plugin también permite asignar múltiples roles de usuario a un solo usuario, así como asignar capacidades a cuentas de usuario específicas, lo que abre algunos usos interesantes.
Una vez que instales y actives el plugin, aquí tienes cómo utilizarlo realmente:
Paso 1: Selecciona el rol que quieres editar (o crea uno propio)
Para acceder a la interfaz del plugin, ve a Usuarios → Editor de roles de usuario.
Allí, puedes:
Si optas por crear tu propio rol, tendrás que darle un:
También puede elegir opcionalmente hacer una copia de las capacidades de un rol existente. Si elige Ninguno, su nuevo rol no tendrá ninguna capacidad para empezar.
Paso 2: Añadir o eliminar capacidades para el rol
Una vez que haya seleccionado el rol que desea editar, sólo tiene que utilizar la lista de casillas de verificación para asignar las capacidades a las que desea que ese rol tenga acceso.
Algunos consejos para utilizar esta interfaz de manera más eficaz son:
Cuando hayas terminado, asegúrate de pulsar Actualizar.
Otras funciones útiles del editor de roles de usuario
Además de la gestión básica de roles y capacidades de usuario, el editor de roles de usuario también incluye otras dos funciones útiles a las que puede acceder cuando edita el perfil de un usuario.
Puede:
La segunda característica es especialmente útil porque hace que el sistema de permisos de usuario de WordPress se parezca más al sistema de Drupal (un CMS que normalmente se considera que tiene un sistema de permisos de usuario más flexible).
Usando código para gestionar roles y capacidades
También es bastante sencillo, aunque un poco menos amigable, usar tus propios fragmentos de código para añadir nuevos roles. Este es tu gestor de capacidades.
Para hacerlo, tú:
Me gusta hacer esto usando un plugin como Code Snippets porque mantiene todo limpio, pero también puedes usar el archivo functions.php de tu tema hijo.
Así es como se ve para un rol llamado Ejemplo:
$result = add_role( 'example', __( 'Example' ), array( 'edit_posts' => true, // lets users edit their own posts 'edit_pages' => true, // lets users edit pages ) );
Si no defines una capacidad en el array, debería ser falsa por defecto. Pero sin embargo, todavía verás que algunos desarrolladores ponen explícitamente las capacidades como falsas.
Una vez que guardes tu snippet, podrás asignar el nuevo rol a tus usuarios:
Consejos para usar los roles y capacidades de WordPress
En este punto, deberías tener una idea bastante clara de cómo crear nuevos roles de usuario y manipular roles/capacidades de usuario en tu sitio de WordPress.
Pero puede que todavía te estés preguntando, «¿cómo me ayuda realmente este conocimiento a construir un mejor sitio de WordPress?»
Para ello, quiero dejarte con algunos consejos procesables.
Crea un rol personalizado para tu cliente (Para sitios de clientes)
Si estás construyendo sitios de WordPress para clientes, deberías aprender a amar los roles y las capacidades.
Es probable que quieras que tu cliente tenga más capacidades que el rol de Editor por defecto, pero menos capacidades que un Administrador completo (rol de administrador de WordPress).
Para ello, crea una copia del rol de Administrador pero elimina las capacidades con las que tu cliente podría… romper algo.
Por ejemplo, las capacidades relacionadas con:
- Plugins
- Edición de código
- Themes
No hay un libro de reglas estricto aquí – vaya con lo que mejor se adapte a su situación y el nivel de conocimiento de su cliente.
Dar acceso a ciertos usuarios al contenido privado
WordPress incluye la funcionalidad principal para hacer que las entradas, páginas y tipos de entradas personalizadas sean privadas. Pero, por defecto, sólo los Administradores y Editores pueden ver ese contenido privado.
Jugando con las capacidades para:
- leer_private_posts
- leer_private_pages
- leer_private_products (en tiendas WooCommerce)
Puedes crear contenido privado ligero sin necesidad de un plugin.
Obtenga más control sobre los blogs de varios autores
Si está ejecutando un blog de varios autores, probablemente querrá dar a los usuarios el rol de Editor para que puedan ayudar con las publicaciones escritas por otros usuarios. Pero, por defecto, los editores pueden gestionar páginas además de posts.
Puede que no quieras eso, por lo que puede ser útil crear un rol de editor más limitado que sólo tenga la capacidad de trabajar con posts normales.
Resumiendo los roles y capacidades de WordPress
Los roles y capacidades de WordPress son una parte importante de lo que hace que WordPress sea un sistema de gestión de contenidos completo, en lugar de un sistema de blogs como los de antaño.
Como propietario del sitio, tan pronto como domine los roles y capacidades, tendrá un control preciso sobre lo que sus clientes o usuarios tienen acceso exactamente. Y eso significa un sitio de WordPress más seguro y que funciona bien!
Si esto le parece demasiado complicado, el equipo de GoWP puede encargarse de gestionar los roles y capacidades de sus usuarios de WordPress por usted en el plan de ediciones de contenido ilimitado!
0 comentarios