Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress

Crea un Simple CRM en WordPress: Restringir / Ocultar Elementos de Menú

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called Create a Simple CRM in WordPress.
Create a Simple CRM in WordPress: Extending WordPress Search
Create a Simple CRM in WordPress: Using Custom Capabilities

Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)

Hemos estado viendo como crear un simple sistema CRM en WordPress. En la última parte de esta serie, hemos añadido código a nuestro plugin que nos permite buscar contactos basándonos en los datos almacenados en los Campos Personalizados Avanzados.

Hoy cubriremos como restringir el acceso a los elementos del Menú de Administración de WordPress.

Roles y Capacidades

WordPress usa el concepto de Roles, donde un Rol puede ser asignado 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
  • Colaborador
  • Suscriptor

A los permisos que un Rol tiene se les denomina Capacidades, y WordPress proporciona muchas capacidades diferentes (por ejemplo, install_pluginsupdate_themesedit_pages, etc). Si estás interesado en ver la lista completa de Capacidades para cada Rol, mira esta Página del Codex de WordPress

Cuando registramos nuestro Tipo de Entrada Personalizada Contactos en la Parte 1 de esta serie, definimos que el capability_type sería post. Esto significa que las capacidades de lectura, edición y eliminación de Contactos son las mismas que las empleadas para las Entradas. Dependiendo del Rol del Usuario, esto le podría proporcionar los siguientes accesos a nuestro Tipo de Entrada Personal Contactos:

Capacidad Super Admin Administrador Editor Autor Colaborador Suscriptor
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 de arriba, si quisiéramos que los Usuarios fuesen capaces de añadir, editar y eliminar todos los Contactos (incluyendo Contactos creados por otros Usuarios), necesitaríamos usar el rol de Editor. Avancemos y creemos un nuevo Usuario en WordPress con ese rol:   

  1. Navega a Usuarios > Añadir Nuevo en el Menú de Administración de WordPress
  2. Completa los campos para el nombre de usuario, el email y la contraseña.
  3. Ajusta el Rol del Usuario a Editor.
  4. Pulsa Añadir Nuevo Usuario.

Screen Shot 2014-12-30 at 124335

Ahora sal de WordPress y accede de nuevo como nuestro nuevo Editor. Verás que el Menú de Administración de WordPress tiene menos opciones, e incluye nuestro Tipo de Entrada Personalizada Contactos: 

Menu Comparison Administrator Left vs Editor Right

De todas formas, puede que solo quieras que los Usuarios sean capaces de ver los Contactos de otros Usuarios sin tener la habilidad de editarlos o eliminarlos. Podemos lograr esto por medio del rol Autor, ya que éste no dispone de las capacidades edit_others_posts o delete_others_posts (ver referencias más arriba).

Crea tu usuario de WordPress de la misma forma que hicimos antes para el Editor, pero esta vez escogiendo como rol Autor.

Al acceder como Autor verás que otra vez tienes menos opciones en el Menú de Administración:

Cuando veamos nuestros Contactos, verás todos los Contactos creados por otros usuarios de WordPress—aunque no serás capaz de editarlos o eliminarlos:

The Contacts Custom Post Type when viewed as an Author

Continúa y añade un nuevo Contacto. Una vez hecho, pulsa sobre All Contacts (Todos los Contactos) en el Menú de Administración de WordPress. En lugar de ver todos los Contactos creados por otros Usuarios de WordPress, verás ahora los Contactos que tú has creado, los cuales serás capaz de editar y eliminar:

Viewing the Authors own Contacts in WordPress

Todavía podemos ver los Contactos de otros Usuarios si hacemos clic sobre la opción All situada sobre la Tabla de WordPress:

How to access all Contacts in WordPress

Lo Próximo…

En el próximo artículo, iremos más lejos con las restricciones de la funcionalidad de la Administración de WordPress para los usuarios, permitiéndoles sólo acceder a los Contactos CRM.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.