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:

  1. Super Admin: tylko multisite; ma możliwości administrowania siecią.
  2. 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.
  3. Redaktor: może tworzyć, edytować, publikować i usuwać posty i strony, moderować komentarze i przesyłać pliki.
  4. Autor: może publikować własne posty i przesyłać pliki.
  5. Współpracownik: może tworzyć i edytować własne posty.
  6. 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 posty
  • delete_posts: Usuń własne posty
  • Czytaj: 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.

WooCommerce roles are added to WordPress' dropdown list of roles
Role WooCommerce są dodawane do rozwijanej listy ról WordPress

bbPress dodaje kolejne pięć ról. W kolejności przywilejów, od większości do najmniej, są:

  1. Keymaster
  2. Moderator
  3. Uczestnik
  4. Spectator
  5. 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:

  1. Dodaj własne role i ustaw ich możliwości
  2. Zmień nazwy ról
  3. Dodaj możliwości do ról
  4. Usuń role
  5. 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.

User Role Editor showing Editors' granted capabilities, human readable form
Edytor roli użytkownika pokazujący możliwości redaktorów, czytelna dla człowieka forma

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!

Sorry, you are not allowed to access this page
Przepraszamy, nie masz dostępu do tej strony

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!)

Widok redaktora postu: przycisk Dodaj Media jest nieobecny

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

Pole upload_files powinno być zaznaczone

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.

A Contributor who can upload files can use the Add Media button to add images
Współpracownik, który może przesyłać pliki, może użyć przycisku Dodaj Media, aby dodać obrazy

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.

A modified Editor can't switch the theme but can customize it
Zmodyfikowany Edytor nie może zmienić motywu, ale może go dostosować

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.

Wczytywanie gist abrightclearweb / f634ff221cfbf4b346bbb9256dd26d59

To jest rezultat:

A custom Editor role viewing only Widgets and Menus in the Appearance section
Rola edytora niestandardowego wyświetla tylko widżety i menu w sekcji Wygląd

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.

The Administrator role is missing from this custom Editor’s Users view
Brakuje roli administratora w widoku użytkowników tego edytora niestandardowego

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.

Dodaj nową rolę asystenta sklepu

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 produktu
  • delete_product: aby usunąć pojedynczy produkt, który stworzyli
  • delete_products: masowo usuwać własne produkty
  • delete_published_products: aby usunąć własne opublikowane produkty
  • edit_product: tworzenie i edytowanie własnych produktów
  • edit_product_terms: aby zmienić kategorię lub tag na własnych produktach
  • edit_products: zbiorcza edycja własnych produktów
  • edit_published_products: edytować własne opublikowane produkty
  • publish_products: może publikować własne produkty
  • read_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_posts
  • Czytaj
  • upload_files
  • widok
The Shop assistant can add and edit their products, publish them, add product images and categories or tags
Asystent sklepu może dodawać i edytować swoje produkty, publikować je, dodawać zdjęcia produktów i Kategorie lub tagi
The Shop assistant only view other people’s products, not edit them
Asystent sklepu przegląda tylko produkty innych osób, a nie je edytuje

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!

Changing capabilities of a single user
Zmiana możliwości pojedynczego użytkownika

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!
Czy zmodyfikowałeś domyślne role użytkowników? Podziel się swoimi wskazówkami w komentarzach.

Tagi:

You May Also Like

Jak naprawić nieprawidłowy błąd JSON w WordPress (Przewodnik dla początkujących)

W artykule: Co powoduje błąd “nieprawidłowa odpowiedź JSON” w WordPress?1. Sprawdź adresy…

Jak naprawić błąd krytyczny w WordPress (krok po kroku)

W artykule: Co To jest błąd krytyczny w WordPress?Co powoduje krytyczny błąd…

Jak zmienić kolor linku w WordPress (poradnik dla początkujących)

W artykule: Dlaczego Linki Są Ważne?Jak dodawać linki w postach i stronach…

9 Najlepsze Darmowe Wtyczki WordPress Author Bio Box

W artykule: 1. Simple Author Box2. Branda3. Autor postu WP4. Author Bio…