W artykule:
- Jakie są role użytkowników WordPress?
- Wtyczki i role użytkowników
- Niestandardowe role użytkowników
- Szybka wycieczka wokół edytora ról użytkownika
- Zmiana ról użytkownika podczas testowania modyfikacji
- Zmiana domyślnych funkcji ról
- Tworzenie niestandardowej roli: WooCommerce shop assistant
- Niestandardowe role bbPress
- Zmiana nazwy ról
- Usuwanie ról
- Zmiana indywidualnych możliwości użytkownika
- Możliwości dodawania i usuwania
- Podsumowując
Mądry człowiek powiedział kiedyś: „z wielką mocą przychodzi wielka odpowiedzialność.”W WordPress jest to w postaci ról użytkowników, które pozwalają na różne poziomy dostępu do części witryny WordPress.
Zasada najmniejszego przywileju jest dobra do naśladowania. Tylko najbardziej zaufani użytkownicy powinni mieć największy dostęp, aby zachować integralność i bezpieczeństwo witryny lub sieci witryn.
Jakie są role użytkowników WordPress?
WordPress ma sześć wbudowanych ról użytkownika. Są to:
- Super Admin: tylko multisite; ma możliwości administrowania siecią.
- Administrator: rola najwyższego poziomu dla pojedynczej witryny; może wykonywać wszystkie działania, z wyjątkiem przypadków, gdy włączona jest obsługa wielu witryn.
- Redaktor: może tworzyć, edytować, publikować i usuwać posty i strony, moderować komentarze i przesyłać pliki.
- Autor: może publikować własne posty i przesyłać pliki.
- Współpracownik: może tworzyć i edytować własne posty.
- Abonent: może się zalogować i edytować tylko swój profil.
Role są związane z możliwości. Im więcej możliwości ma rola użytkownika, tym więcej działań może wykonać.
Wyobraź sobie szkołę. Dozorca będzie miał klucze do różnych pomieszczeń w szkole. Nauczyciel może uzyskać dostęp do pokoju personelu i klas, ale będzie miał tylko klucze do własnej klasy. Uczeń może odwiedzić większość sal lekcyjnych, ale nie będzie miał żadnych kluczy.
W standardowej instalacji WordPress rola administratora ma najwięcej możliwości dla jednej witryny; dla wielu witryn jest to Super Administrator.
Kodeks WordPress ma pełną listę możliwości związanych z rolami użytkowników.
Na przykład współpracownicy mają następujące możliwości:
edit_posts: tworzyć i edytować (ale nie publikować) własne postydelete_posts: Usuń własne postyCzytaj: dostęp i edycja własnego profilu
Wtyczki i role użytkowników
Niestandardowe role użytkownika mogą być tworzone przez wtyczki. Na przykład WooCommerce dodaje jeszcze dwie role:
- Menedżer sklepu: możliwości zarządzania sklepem (może wyświetlać / zmieniać wszystkie opcje w menu WooCommerce i produkty). Odpowiada to roli edytora WordPress.
- Klient: może przeglądać zamówienia, historię zamówień i przeglądać / edytować swoje konto.
Administrator lub Superadmin może dodać nowego użytkownika i przypisać rolę menedżera sklepu. Rola klienta jest tworzona, gdy ktoś rejestruje się do zakupu w sklepie internetowym.

bbPress dodaje kolejne pięć ról. W kolejności przywilejów, od większości do najmniej, są:
- Keymaster
- Moderator
- Uczestnik
- Spectator
- Zablokowane
W przeciwieństwie do ról WooCommerce, role bbPress są oddzielone od systemu ról użytkownika WordPress i nie pojawiają się na standardowej rozwijanej liście ról.
Indywidualni użytkownicy zyskują rolę uczestnika poprzez udział w forum. Administratorzy mogą również przypisać użytkownikowi rolę forum, edytując jego profil.
Niestandardowe role użytkowników
W większości przypadków predefiniowane role użytkowników będą odpowiednie, ale istnieje kilka przypadków, w których możesz potrzebować bardziej zindywidualizowanej implementacji. Wracając do szkolnej analogii, może być główny dozorca, który posiada klucze do niektórych pomieszczeń, których inni dozorcy nie mają.
W tym miejscu pojawia się wtyczka edytora ról użytkownika. Pozwala to na bardziej drobnoziarnistą kontrolę nad możliwościami roli. Możesz wzmocnić swoich użytkowników, ale trzymaj ich w ryzach.
Dzięki edytorowi ról użytkownika możesz:
- Dodaj własne role i ustaw ich możliwości
- Zmień nazwy ról
- Dodaj możliwości do ról
- Usuń role
- Stwórz własne możliwości
Możesz także zmieniać role i funkcje dla poszczególnych użytkowników.
Możesz być zadowolony, wiedząc, że Edytor ról użytkownika jest zgodny z GDPR.
Szybka wycieczka wokół edytora ról użytkownika
Ustawienia wtyczki są na Ustawienia > Edytor Ról Użytkownika, gdzie można dostosować kilka ustawień,a także zresetować wszystkie role do ich domyślnych. Jest duże ostrzeżenie, że stracisz wszelkie zmiany wprowadzone przez reset.
Przejdź do Użytkownicy > Edytor Ról Użytkownika aby edytować role.
Pokaż możliwości w formie czytelnej dla człowieka sprawia, że możliwości są nieco jaśniejsze do odczytania.
Przyznane pokazuje tylko możliwości, które ma już rola.
Na Szybki filtr jest przydatny, jeśli znasz nazwę funkcji, którą chcesz zmienić, ale nie możesz jej znaleźć na liście. Zaznacza nazwę na Zielono.

Zmiana ról użytkownika podczas testowania modyfikacji
Użytkownik przełączający wtyczkę oszczędza czas. Pozwala na zmianę z jednego użytkownika na drugiego za pomocą jednego kliknięcia. Oszczędza to kłopotu wylogowania się i ponownego zalogowania jako nowy użytkownik.
Jedną z ról, które uznałem za problematyczne przy użyciu tej metody, była rola Subskrybenta. Nie było paska administratora pokazanego na mojej instalacji dla abonenta, więc nie miałem łatwego sposobu na przejście z powrotem do Administratora bez wylogowania i ponownego logowania.
Upewnij się, że przetestujesz w pełni wszelkie zmiany funkcji: nie chcesz, aby Twoi użytkownicy mieli dostęp do czegoś nieoczekiwanego!

Zmiana domyślnych funkcji ról
Autorzy: uploading media
Na blogu wielu autorów, takim jak WPMU Dev blog, posty są wysyłane do moderacji przed publikacją. Naturalną rolą, którą należy dopasować, jest rola dostawcy, ale ta rola nie pozwala pisarzom przesyłać obrazów (dość istotne zadanie!)

Możliwość dodawania jest upload_files, która znajduje się w części głównej.

Pozwala to użytkownikowi na dodawanie multimediów do postów. Użytkownicy mogą zobaczyć inne przyciski obok dodawania multimediów – zależy to od zainstalowanych wtyczek.
Współpracownicy, którzy mogą przesyłać multimedia, mogą widzieć i używać wszystkich plików w bibliotece multimediów, w przeciwieństwie do postów, w których mogą przeglądać tylko swoje własne.

Redakcja: zarządzanie widżetami i menu
Edytorzy nie mają dostępu do żadnych opcji w menu Wygląd, co oznacza, że nie mogą zarządzać widżetami ani menu. Są chwile, kiedy to by się przydało.
Najprostszą opcją jest zmiana możliwości roli edytora. Odpowiednie możliwości w ramach grupy tematycznej – edit_theme_options.
Daje to możliwość zobaczenia większości opcji w podmenu wygląd.

Chociaż użytkownik nie może przełączyć motywu ani edytować kodu PHP, can dostosuj go i wprowadź inne zmiany. Problem w tym, że edit_theme_options funkcja łączy kilka różnych uprawnień. Możemy coś z tym zrobić?
Jedną z możliwości jest usunięcie elementów menu i opcji, których nie potrzebujemy od naszych edytorów. W przypadku motywu Storefront potrzebujemy do tego dwóch funkcji, które możemy dodać do motywu podrzędnego.
To jest rezultat:

Zauważ, że nie jest to całkowicie niezawodne. Opcje menu nie będą wyświetlane, ale strony nadal istnieją. Sprytny Edytor może jeszcze je zobaczyć i dostać się do psoty, wpisując adresy URL bezpośrednio.
Redaktorzy: przeglądanie i edytowanie użytkowników
Tylko administratorzy lub Superadmini mogą zobaczyć menu użytkownicy. Wyobraź sobie dużą witrynę dla wielu użytkowników z BuddyPress lub bbPress. Będzie duża liczba użytkowników, ale niewielu administratorów do zarządzania nimi.
Aby to obejść, możesz dodać dwie możliwości edytorów: list_users oraz edit_users.
Pozwala to edytorom zobaczyć listę użytkowników, edytować ich profile i zmieniać ich rolę. Edytor nie może promować użytkownika powyżej poziomu edytora.
Jeśli używasz przełączania użytkowników, twój edytor ma również opcję Przełącz na, ale nie będzie mógł przełączyć się na konto administratora lub Super administratora.

Brak roli administratora w widoku użytkowników tego edytora
Jeśli naprawdę ufasz swoim redaktorom, możesz przyznać delete_users pozwolenie też.
Tworzenie niestandardowej roli: WooCommerce shop assistant
Aby utworzyć nową rolę, możesz zacząć od pustej tablicy lub skopiować istniejącą rolę. Powiedzmy, że chcielibyśmy asystenta sklepu, który może przeglądać produkty oraz dodawać, edytować i publikować własne produkty. Nie chcemy jednak, aby ta rola edytowała lub usuwała istniejące produkty.

Zacząłem od roli współpracownika i dodałem następujące możliwości WooCommerce:
assign_product_terms:aby przypisać kategorię lub tag do produktudelete_product: aby usunąć pojedynczy produkt, który stworzylidelete_products: masowo usuwać własne produktydelete_published_products: aby usunąć własne opublikowane produktyedit_product: tworzenie i edytowanie własnych produktówedit_product_terms: aby zmienić kategorię lub tag na własnych produktachedit_products: zbiorcza edycja własnych produktówedit_published_products: edytować własne opublikowane produktypublish_products: może publikować własne produktyread_product: można przeglądać produkty
Asystent sklepu może również zaimportować plik CSV produktów.
Ta niestandardowa rola ma również następujące możliwości WordPress:
edit_postsCzytajupload_fileswidok


Niestandardowe role bbPress
Jak wspomniano wcześniej, role bbPress nie pojawiają się z innymi rolami.
Vladimir Garagulia, autor edytora roli użytkownika, pisze o bbPress:
bbPress nie przechowuje swojej roli w bazie danych, tak jak WordPress. bbPress tworzy swoją rolę w locie za pomocą kodu PHP dla każdego ładowania strony. z tego powodu role bbPress nie są obsługiwane przez darmową wersję edytora ról użytkownika. URE wyklucza je z przetwarzania przez projekt. Pełne wsparcie dla ról bbPress wraz z edycją jest realizowane w wersji pro edytora ról użytkownika.
Zmiana nazwy ról
Zmiana nazwy jest tylko opcją dla utworzonych ról i można zmienić tylko nazwę roli, a nie identyfikator roli.
Usuwanie ról
Możesz usuwać tylko utworzone role i tylko wtedy, gdy brak użytkowników są przypisane do tej roli. Musisz najpierw usunąć wszystkich użytkowników z roli, aby ją usunąć.
Zmiana indywidualnych możliwości użytkownika
Możesz uzyskać jeszcze bardziej szczegółową edycję poszczególnych użytkowników i ich możliwości. Po prostu przejdź do profilu użytkownika i kliknij link Edytuj obok możliwości. Następnie możesz dodać lub odebrać im moce!

Możliwości dodawania i usuwania
Jeśli jesteś programistą wtyczek, możesz dodać własne możliwości. Więcej informacji na temat tworzenia możliwości można znaleźć w Kodeksie.
Możliwości można też zabrać np. ze starych wtyczek. Nie używaj tej opcji, chyba że wiesz, co robisz. Pamiętaj, że funkcji WordPress nie można usunąć.
Podsumowując
Edytor ról użytkownika zapewnia prosty interfejs użytkownika do zmiany umiejętności użytkowników. Zanim jednak zmienisz lub dodasz role, upewnij się, że:
- jest na to dobry przypadek użycia
- przed uruchomieniem testujesz zmiany w witrynie testowej
- wypróbowałeś dokładnie nową rolę-nie chcesz, aby użytkownicy superbohaterów stali się super złoczyńcami!
Tagi: