Hemos estado viendo cómo crear un sistema de CRM simple en WordPress. En la última parte de esta serie, agregamos un código a nuestro complemento que nos permitió buscar en nuestros contactos según los datos almacenados en los Campos personalizados avanzados..
Hoy veremos cómo restringir el acceso a los elementos del menú de administración de WordPress.
WordPress utiliza el concepto de roles, donde un rol puede asignarse a un usuario de WordPress. Este rol define lo que el usuario puede y no puede hacer.
Por defecto, WordPress tiene seis roles:
Los permisos que tiene un rol se conocen como capacidades y WordPress proporciona muchas capacidades diferentes (por ejemplo,, instalar_plugins
, actualizar_themes
, editar_páginas
, etc). Si está interesado en ver la lista completa de Capacidades basadas en roles, consulte esta página de WordPress Codex.
Cuando registramos nuestro Tipo de publicación personalizada en la Parte 1 de esta serie, definimos el capacidad_tipo
ser enviar
. Esto significa que las capacidades de lectura, edición y eliminación de los contactos son las mismas que se utilizan para las publicaciones. Dependiendo de la función del usuario, esto le da al usuario el siguiente acceso a nuestro tipo de publicación personalizada de contactos:
Capacidad | Super admin | Administrador | Editor | Autor | Contribuyente | Abonado |
---|---|---|---|---|---|---|
edit_others_posts | Sí | Sí | Sí | |||
delete_others_posts | Sí | Sí | Sí | |||
delete_private_posts | Sí | Sí | Sí | |||
edit_private_posts | Sí | Sí | Sí | |||
read_private_posts | Sí | Sí | Sí | |||
edit_published_posts | Sí | Sí | Sí | Sí | ||
publish_posts | Sí | Sí | Sí | Sí | ||
delete_published_posts | Sí | Sí | Sí | Sí | ||
edit_posts | Sí | Sí | Sí | Sí | Sí | |
delete_posts | Sí | Sí | Sí | Sí | Sí |
Basándonos en las capacidades anteriores, si queremos que los Usuarios puedan agregar, editar y eliminar todos los contactos (incluidos los contactos creados por otros usuarios), deberíamos usar la función de editor. Continuemos y creemos un nuevo usuario de WordPress con ese rol:
Ahora salgamos de WordPress e iniciemos sesión como nuestro nuevo Editor. Verá que el menú de administración de WordPress tiene menos opciones e incluye nuestro tipo de publicación personalizada de contactos:
Sin embargo, es posible que solo desee que los usuarios puedan ver los contactos de otros usuarios sin tener la capacidad de editarlos o eliminarlos. Podemos lograr esto usando el rol de Autor, ya que este rol no tiene edit_others_posts
o delete_others_posts
Capacidades (refiérase a la tabla de arriba).
Cree su usuario de WordPress de la misma manera que lo hicimos para un editor, esta vez eligiendo el rol de Autor en su lugar.
Al iniciar sesión como autor, nuevamente se mostrarán menos opciones del menú de administración de WordPress:
Cuando vemos nuestros contactos, verá todos los demás contactos creados por otros usuarios de WordPress; sin embargo, no podemos editarlos ni eliminarlos:
Anímate y agrega un nuevo contacto. Una vez hecho esto, haga clic en Todos los contactos en el menú de administración de WordPress. En lugar de ver todos los contactos creados por otros usuarios de WordPress, ahora verá los contactos que ha creado, que puede editar y eliminar:
Todavía podemos ver los contactos de otros usuarios haciendo clic en el Todos Opción arriba de la tabla de WordPress:
En el siguiente artículo, vamos a restringir aún más la funcionalidad de Administración de WordPress a los Usuarios seleccionados, permitiéndoles acceder solo al CRM de Contactos..