• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
Inicio / Tutoriales / Core / Cómo usar Roles y Capacidades en WordPress
Anuncio banner webservi

Cómo usar Roles y Capacidades en WordPress

Roles y Capacidades en WordPress

[ 6 junio 2017 ] [ Actualizado: 7 septiembre 2018 ]
[ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

seguridad

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

¿Te gustaría dar permisos a determinado grupo de usuarios y mantener el control de las opciones a las que puedan acceder?, puedes lograr esto usando Roles y Capacidades en WordPress.

 

¿Qué son los Roles?

Los Roles o Perfiles son simplemente grupos que definimos para organizar los usuarios de nuestro sitio, los roles no tienen jerarquía, por ejemplo el rol administrador, si bien por defecto puede tener todos los permisos de los otros roles, no significa que los herede, podemos hacer que el rol editor tenga permisos que no tenga el rol administrador.

Roles por defecto:

  • Administrador: Tiene el control sobre todo el sitio
  • Editor: Tiene permisos de publicación y edición de contenido de otros autores.
  • Autor: Tiene permisos de creación y edición de su propio contenido.
  • Colaborador: Puede crear contenido pero no puede publicarlo.
  • Suscriptor: Tiene permiso limitado sólo para editar su perfil.

 
Para asignar un rol a un determinado usuario, puedes hacerlo desde la pantalla de edición o creación de usuarios.

Pantalla de creación de usuario mostrando los roles por defecto

 

2- ¿Qué son las Capacidades?

Las Capacidades o Capabilities, es un sistema de permisos aplicados sobre los roles. En realidad es a través de las capacidades en donde se define realmente que es lo que un usuario, a través de su rol, puede o no hacer en el sitio.

Asignación por defecto de capacidades por rol.

Capability Super Admin Administrador Editor Autor Colaborador Suscriptor
create_sites  
delete_sites  
manage_network  
manage_sites  
manage_network_users  
manage_network_plugins  
manage_network_themes  
manage_network_options  
upload_plugins  
upload_themes  
Capability Super Admin Administrador Editor Autor Colaborador Suscriptor
activate_plugins    **
create_users    *
delete_plugins    *
delete_themes    *
delete_users    *
edit_files    *
edit_plugins    *
edit_theme_options    
edit_themes    *
edit_users    *
export    
import    
Capability Super Admin Administrador Editor Autor Colaborador Suscriptor
install_plugins    *
install_themes    *
list_users    
manage_options    
promote_users    
remove_users    
switch_themes    
update_core    *
update_plugins    *
update_themes    *
edit_dashboard    
customize    
delete_site    
Capability Super Admin Administrador Editor Autor Colaborador Suscriptor
moderate_comments      
manage_categories      
manage_links      
edit_others_posts      
edit_pages      
edit_others_pages      
edit_published_pages      
publish_pages      
delete_pages      
delete_others_pages      
delete_published_pages      
delete_others_posts      
delete_private_posts      
edit_private_posts      
read_private_posts      
delete_private_pages      
edit_private_pages      
read_private_pages      
unfiltered_html    *  *
Capability Super Admin Administrador Editor Autor Colaborador Suscriptor
edit_published_posts        
upload_files        
publish_posts        
delete_published_posts        
edit_posts          
delete_posts          
Capability Super Admin Administrador Editor Autor Colaborador Suscriptor
read            
* single site ** single site o habilitado en la red multi site

 

En la construcción de un plugin, siempre debes comprobar los permisos a través de las capacidades en lugar de hacerlo a través de los roles

 

3- Administrar Roles y Capacidades

Existen diferentes plugins con esta funcionalidad, en este artículo usaremos el plugin Members para crear capacidades y roles.

En un artículo anterior vimos cómo crear un Custom Post Type (CPT), cuando creamos este CPT dejamos las opciones de capacidades por defecto, sin embargo ahora vamos a crear un nuevo rol con sus respectivas capacidades para administrar el CPT de recetas.

El plugin llamado Members que usaremos lo puedes descargar desde este enlace

 

3.1 Modificar el Custom Post Type Recetas

Primero cambiaremos las capacidades por defecto del Custom Post Type Recetas definiendo las capacidades personalizadas, tal como se ve en la siguiente imagen del servicio GenerateWP que usamos para la creación del CPT.

Sitio GenerateWP tab de Capabilities del CPT Recetas

 

3.2 Crear el nuevo Rol y sus Capacidades

A través del plugin de Members, desde Usuarios > Perfiles, podemos clonar algún perfil y luego agregar las capacidades adicionales necesarias, tal como se muestra en la siguiente imagen.

Pantalla del plugin Members - Creación nuevo rol

 

3.3 Asignar el nuevo Rol a un usuario

Finalmente desde la pantalla de edición de algún usuario seleccionado, asignamos el nuevo rol creado.

Pantalla de edición de usuario, asignar rol usuario

 
 
¿Aún con dudas?, en el siguiente video se explica cómo crear y modificar roles y capacidades usando el plugin Members

 

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Leer datos desde otra base de datos en WordPressLeer datos desde otra base de datos en WordPress
  • Crear un sitio One Page en WordPressCrear un sitio One Page en WordPress
  • Mostrar lista de autores en WordPressMostrar lista de autores en WordPress
  • Añadir código de Google Tag Manager sin plugins en WordPressAñadir código de Google Tag Manager sin plugins en WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (1 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Comentarios

  1. wp_wp

    4 julio, 2017

    Muy buen trabajo. Tienes dotes para la docencia. Sigue así. Me encantó el vídeo. Seguro que en una versión posterior, cuando te de tiempo puedes llevarlo un poco más lejos con taxonomías para ese admin recetas o gestor de recetas…

    • Jhon Marreros Guzmán

      4 julio, 2017

      Que bueno que te sirvió, gracias por tu comentario, evaluaré tu sugerencia para un futuro artículo. Saludos.

  2. JoAn Guevara

    18 agosto, 2017

    Este sitio está genial, lo he agregado a mis favoritos. Muchas gracias y felicitaciones. Saludos

    • Jhon Marreros Guzmán

      18 agosto, 2017

      Gracias Joan, saludos igualmente 🙂

  3. Javiel

    12 febrero, 2018

    Felicitaciones jhon muy buen artículo. Qusiera saber si me se la url de una pagina de las que no se puede mostrar a un usuario determinado y la pongo el buscador aunque no este en ese user se muestra. Como puedo tratar esas exepciones es decir si una persona quiere acceder a una pagina a la cual su rol no esta autorizada me redireccione para el login Saludos y gracias de antemano .

    • Jhon Marreros Guzmán

      13 febrero, 2018

      Hola, con el rol y permiso configurado ya se controla el acceso por la url, no debería permitirte ver entradas a las cuales un rol no tiene acceso.

  4. Luis Miguel

    10 octubre, 2019

    Para mí, eres el más, ojalá hubiese tenido un docente que explicara como tu.

    Es posible tomar un rol (editor) y deshabilitarle la capacidad: Eliminar página?

    Muchas gracias, me encantan todos tus videos y artículos

    • Jhon Marreros Guzmán

      11 octubre, 2019

      Hola, gracias Luis, con respecto a lo que comentas, si que es posible, prueba hacerlo con el plugin de Members. Saludos.

  5. Marcelo

    20 agosto, 2020

    Amigos, ¿existe algún plugin que permita editar determinadas páginas a un rol determinado? Imagínense que los roles “vendedores” no puedan modificar las listas de precios. O por ejemplo, los editores no puedan cambiar algunas páginas creadas por el administrador, pero otras si.
    Gracias

    • Jhon Marreros Guzmán

      21 agosto, 2020

      Hola, tal vez a través de plantillas de página, es decir tendrías que crear plantillas para cada página y antes de mostrar el contenido validar que ese rol lo puede ver, revisa: https://decodecms.com/plantillas-pagina-wordpress/

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral primaria

Presentación

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
Los 5 posibles errores que estas cometiendo cuando trabajas con código en WordPress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad social

Populares

Leer datos desde otra base de datos en WordPress

Cambiando la estructura de menú de WordPress

Agregar cuadros de alerta en el contenido de WordPress

Eliminar campo URL de los comentarios de WordPress

Recientes

  • Leer datos desde otra base de datos en WordPress
  • Crear un sitio One Page en WordPress
  • Mostrar lista de autores en WordPress
  • Añadir código de Google Tag Manager sin plugins en WordPress
alojamiento wordpress

© logo decode pie Copyright 2021 | Todos los derechos reservados | Política de Privacidad