Cum să creați un rol de utilizator personalizat în WordPress
Publicat: 2021-02-06Când construiți un site web cu un CMS, flexibilitatea este întotdeauna binevenită. Din fericire, WordPress are mai mult decât partea sa, cu teme și pluginuri care ne permit să creăm o experiență extrem de personalizată.
Dar flexibilitatea sa depășește doar acele lucruri suplimentare pe care le putem instala. Este de fapt copt chiar în miezul software-ului.
Abilitatea de a crea roluri personalizate de utilizator este un exemplu strălucitor. Astăzi, vom arunca o privire la ceea ce sunt, de ce ați dori să le utilizați și câteva tehnici diferite pentru a le crea.
Control fin asupra permisiunilor utilizatorului
În fiecare instalare WordPress, aveți deja acces la o selecție de roluri implicite de utilizator. Ele ne permit să desemnăm ce pot și ce nu pot face utilizatorii în back-end (alias Tabloul de bord) al site-ului.
Acest lucru are perfect sens. Nu toți cei care gestionează conținut trebuie să aibă privilegii administrative. Prin urmare, putem atribui fiecărui utilizator un rol în funcție de nevoi. Este o măsură de securitate excelentă și se poate asigura mai bine împotriva accidentelor sau chiar a altora care instalează pluginuri.
Acest lucru funcționează și pe partea frontală. Dacă doriți doar ca utilizatorii autentificați să vadă un anumit conținut, puteți să creați această funcționalitate în tema dvs. sau să o adăugați printr-un plugin de membru.
Dar, în timp ce rolurile implicite ale utilizatorului (Administrator, Editor, Autor, Colaborator și Abonat) sunt utile, există momente când aveți nevoie de un control suplimentar. De aceea, WordPress oferă posibilitatea de a vă crea propriile roluri personalizate.
Când să utilizați un rol personalizat
Un rol personalizat de utilizator poate fi util în mai multe scenarii. Iată câteva dintre cele mai frecvente cu care te-ar putea confrunta:
Aveți utilizatori care gestionează diferite tipuri de conținut
În mod implicit, WordPress vine cu două tipuri cheie de conținut public: Postări și Pagini. Dar este ușor să adăugați mai multe prin utilizarea unor tipuri de postări personalizate. Puteți, de exemplu, să creați tipuri de postări pentru lucruri precum comunicate de presă sau membri ai personalului. În plus, diverse plugin-uri pot instala și propriile tipuri de postări.
Organizațiile mari pot avea mai multe tipuri diferite de conținut, având în vedere anumite persoane care să le gestioneze pe fiecare. În acest caz, un rol implicit de utilizator nu ar fi ideal, deoarece ar putea oferi acces la întregul lot (sau invers, în funcție de configurația dvs.). Un rol personalizat, totuși, ar permite diferiților utilizatori să vadă doar tipul (tipurile) de postare pe care le-ați atribuit.
Un utilizator trebuie să facă doar un lucru
Există ocazii în care un utilizator poate avea nevoie de un nivel unic de acces la funcțiile de pe site-ul dvs. De exemplu, să presupunem că desfășurați un curs online. Este posibil să aveți un membru al echipei care are nevoie de acces la întregul curs pe partea din față și din spate pentru a se asigura că funcționează corect și că conținutul este corect.
Dacă tot ce trebuie să facă acest membru al echipei este să se concentreze asupra cursului în sine, un cont de administrator poate fi exagerat. Cu un rol de utilizator personalizat, aceștia își pot face treaba fără a trece prin opțiuni inutile.
Trebuie să „creșteți nivelul” unui rol existent
Uneori, un rol de utilizator WordPress existent este aproape perfect. Dar poate există acel lucru în plus pe care trebuie să îl acceseze un utilizator.
Luați rolul de autor. În mod implicit, ei pot publica postări, dar nu și pagini. În mod normal, ar trebui să treci utilizatorul la Editor. Ar putea fi bine în unele cazuri. Cu toate acestea, ar putea fi incluse și alte capabilități pe care nu doriți să le acceseze acest utilizator. Aici, crearea unui rol personalizat poate fi cea mai bună opțiune.
Cum se creează un rol de utilizator personalizat
Există două metode diferite pentru a crea un rol de utilizator WordPress personalizat. Primul este prin adăugarea unui cod la un plugin personalizat sau la fișierul functions.php
al temei. Al doilea este prin instalarea unuia dintre numeroasele pluginuri disponibile care vă permit să creați și să editați roluri.
Metoda pe care o utilizați depinde într-adevăr de preferințele personale. Dacă doriți să alegeți și să alegeți capabilitățile utilizatorului într-o manieră vizuală, un plugin are cel mai mult sens. Dar dacă vă simțiți confortabil cu codul și/sau nu doriți ca alți administratori să se joace cu setările, adăugarea unui fragment poate fi pentru dvs.
Oricum, vă vom face să începeți cu câteva exemple de cod și o selecție de pluginuri.
În primul rând, este recomandat să studiați diferitele capacități de utilizator pe care le oferă WordPress. De asemenea, rețineți că tipurile de postări personalizate pot avea și capabilitățile lor personalizate. Acest lucru poate fi util în primul exemplu de scenariu menționat mai sus.
Metoda #1: Adăugați un fragment de cod
În acest exemplu, vom crea un rol de utilizator numit „Membru al personalului”. Aceasta include toate capabilitățile rolului de autor, dar cu capacitatea suplimentară de a edita și publica pagini.
Fiecare capacitate pe care o atribuim rolului este listată în fragmentul de mai jos și este setată la „ adevărat ”. Excepția aici este că nu dorim ca utilizatorii cu acest rol să ștergă paginile publicate, așa că setăm în mod explicit acest lucru la „ fals ” – doar pentru a fi în siguranță.
Din nou, acest cod va intra în fișierul functions.php
al temei sau, opțional, într-un plugin personalizat.
/* Create Staff Member User Role */ add_role( 'staff_member', // System name of the role. __( 'Staff Member' ), // Display name of the role. array( 'read' => true, 'delete_posts' => true, 'delete_published_posts' => true, 'edit_posts' => true, 'publish_posts' => true, 'upload_files' => true, 'edit_pages' => true, 'edit_published_pages' => true, 'publish_pages' => true, 'delete_published_pages' => false, // This user will NOT be able to delete published pages. ) );
După ce am salvat acest cod și am reîmprospătat site-ul web în browser, putem adăuga un nou utilizator cu acest rol.
Când utilizatorul nostru cu rolul de membru al personalului se conectează, poate vedea atât paginile, cât și postările.
O altă alternativă ar fi să adăugați pur și simplu câteva capabilități rolului de autor existent. Putem face acest lucru prin funcția add_cap()
:
/* Upgrade the Author Role */ function author_level_up() { // Retrieve the Author role. $role = get_role( 'author' ); // Let's add a set of new capabilities we want Authors to have. $role->add_cap( 'edit_pages' ); $role->add_cap( 'edit_published_pages' ); $role->add_cap( 'publish_pages' ); } add_action( 'admin_init', 'author_level_up');
Ambele fragmente de cod fac în esență același lucru. Cu toate acestea, adăugarea noului rol de membru al personalului ar putea fi cea mai bună în cazurile în care aveți deja utilizatori cu rolul de autor și nu doriți ca aceștia să aibă capabilități suplimentare.
Metoda 2: Folosiți un plugin
Funcționalitatea de mai sus poate fi reprodusă cu ușurință prin utilizarea unui plugin. Au fost create mai multe pentru acest tip de rol de utilizator și management al capacităților. Ele oferă un avantaj prin faptul că folosesc o interfață grafică și adaugă un strat de confort întregului proces.
Să aruncăm o privire la câteva dintre cele mai populare opțiuni:
Editor de roluri utilizator
Cu User Role Editor, adăugarea sau eliminarea capabilităților pentru un rol este la fel de simplă ca bifarea sau debifarea unei casete din setări. De asemenea, aveți posibilitatea să vă creați propriile roluri personalizate de utilizator și să setați orice capabilități sunt necesare. Pluginul acceptă, de asemenea, instalări multisite ale WordPress.
Editor de roluri utilizator WPFront
WPFront User Role Editor oferă capabilități similare, permițându-vă să adăugați sau să editați roluri de utilizator. Dar, de asemenea, permite administratorilor să migreze utilizatorii de la un rol la altul și să atribuie mai multe roluri utilizatorilor individuali.
Manager de acces avansat
Dacă căutați ceva cu un domeniu mai larg, Advanced Access Manager poate fi o alegere bună pentru dvs. Oferă gestionare a rolurilor și a capacităților, plus capacitatea de a controla accesul la funcțiile frontend și backend precum meniuri și widget-uri.
Cunoaște-ți rolurile
Capacitatea de a crea roluri personalizate de utilizator este doar un motiv în plus pentru a iubi WordPress. Este ceva foarte de nișă, dar poate fi extrem de util atunci când aveți nevoie de ceva care să depășească rolurile implicite.
Așadar, data viitoare când vă aflați într-o situație în care este necesar controlul capabilităților utilizatorului, știți că aveți la dispoziție acest instrument puternic.