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