Creați un CRM simplu în WordPress restrângerea / ascunderea elementelor din meniu

Ne-am uitat la modul de a crea un simplu sistem CRM în WordPress. În ultima parte a acestei serii, am adăugat un cod pluginului nostru care ne-a permis să căutăm contactele noastre pe baza datelor stocate în câmpurile personalizate avansate.

Astăzi vom discuta despre cum să restricționăm accesul la articolele din meniul WordPress Administration Menu.

Roluri și capabilități

WordPress folosește conceptul de roluri, unde un rol poate fi atribuit unui utilizator WordPress. Acest rol definește ce poate și nu poate face Utilizatorul.

Implicit, WordPress are șase roluri:

  • Super Admin
  • Administrator
  • Editor
  • Autor
  • colaborator
  • Abonat

Permisiunile pe care un Role o au sunt denumite Capabilități, iar WordPress oferă o mulțime de capabilități diferite (de exemplu, install_plugins, update_themes, edit_pages, etc). Dacă sunteți interesat să vedeți lista completă a capabilităților bazate pe rol, consultați această pagină WordPress Codex.

Când am înregistrat tipul de postare personalizată pentru contacte din partea 1 din această serie, am definit capability_type a fi post. Aceasta înseamnă că funcțiile de citire, editare și ștergere a contactelor sunt aceleași ca și cele folosite pentru postări. În funcție de rolul utilizatorului, acesta oferă utilizatorului următorul acces la tipul de post personalizat de contact:

capacitate Super Admin Administrator Editor Autor colaborator Abonat
edit_others_posts da da da      
delete_others_posts da da da      
delete_private_posts da da da      
edit_private_posts da da da      
read_private_posts da da da      
edit_published_posts da da da da    
publish_posts da da da da    
delete_published_posts da da da da    
edit_posts da da da da da  
delete_posts da da da da da  

Editori și autori

Pe baza capabilităților de mai sus, dacă vrem ca utilizatorii să poată adăuga, edita și șterge toate contactele (inclusiv contactele create de alți utilizatori), ar trebui să folosim rolul editorului. Să mergem mai departe și să creăm un nou utilizator WordPress cu acest rol:

  1. Navigheaza catre Utilizatori> Adăugați noi în meniul de administrare WordPress.
  2. Completați câmpurile de nume de utilizator, email și parolă.
  3. Seteaza Rol de la Utilizator la Editor.
  4. Clic Adăugați un utilizator nou.

Acum să ieșim din WordPress și să ne logăm ca noul Editor. Veți vedea că meniul de administrare WordPress are mai puține opțiuni și include tipul de post personalizat pentru contacte:

Cu toate acestea, puteți să doriți ca numai utilizatorii să poată vizualiza alte persoane de contact ale utilizatorilor fără a avea posibilitatea de a le edita sau șterge. Putem realiza acest lucru folosind rolul autorului, deoarece acest rol nu are edit_others_posts sau delete_others_posts Capacități (consultați tabelul de mai sus).

Creați-vă utilizatorul WordPress în același mod ca și noi pentru un Editor, de această dată selectând rolul autorului.

Conectarea ca autor va afișa din nou mai puține opțiuni din meniul de administrare WordPress:

Când vedem contactele noastre, veți vedea toate celelalte contacte create de alți utilizatori WordPress - cu toate acestea, nu le putem edita sau șterge:

Continuați și adăugați un nou contact. După ce ați terminat, faceți clic pe Toate contactele în meniul de administrare WordPress. În loc să vedeți toate contactele create de alți utilizatori WordPress, veți vedea acum contactele pe care le-ați creat și pe care le puteți edita și șterge:

Încă putem vedea alte persoane de contact ale utilizatorilor făcând clic pe Toate opțiune deasupra tabelului WordPress:

Urmeaza…

În următorul articol, vom restrânge în continuare funcționalitatea Administrației WordPress la utilizatorii selectați, permițându-i să acceseze doar Contacte CRM.

Cod