Cree un CRM simple en WordPress Restricción / ocultación de elementos de menú

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.

Roles y Capacidades

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:

  • Super admin
  • Administrador
  • Editor
  • Autor
  • Contribuyente
  • Abonado

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      
delete_others_posts      
delete_private_posts      
edit_private_posts      
read_private_posts      
edit_published_posts    
publish_posts    
delete_published_posts    
edit_posts  
delete_posts  

Editores y Autores

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:

  1. Navegar a Usuarios> Añadir Nuevo en el menú de administración de WordPress.
  2. Complete los campos de nombre de usuario, correo electrónico y contraseña.
  3. Selecciona el Papel del Usuario a Editor.
  4. Hacer clic Añadir nuevo usuario.

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:

Hasta la próxima…

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..