• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Core / Cómo usar Roles y Capacidades en WordPress

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

  • CRUD en WordPress sin pluginsCRUD en WordPress sin plugins
  • Cómo eliminar todos los productos de WooCommerceCómo eliminar todos los productos de WooCommerce
  • Agrupar los resultados de búsqueda en WordPressAgrupar los resultados de búsqueda en WordPress
  • tipos de complementos de WordPress5 tipos de complementos de 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 principal

Presentación

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Jooble
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

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

Populares

Gestionar varios sitios web con ManageWP

Activar el modo catálogo en WooCommerce

Cambiar desplegable por botones en las variaciones de productos de WooCommerce

Actualizar el stock de productos usando la API de WooCommerce

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2023 Todos los derechos reservados