Gdy prowadzisz stronę WordPress sam, nie musisz myśleć o rolach użytkowników. Jednak w przypadku, gdy musisz dać innym osobom dostęp do swojej witryny, ważne jest, abyś był świadomy, czym są role użytkownika i jak nimi prawidłowo zarządzać.
Jeśli chcesz być skuteczny jako administrator swojej witryny (witryn) WordPress, musisz wiedzieć, czym jest użytkownik, jak tworzyć nowych użytkowników i dlaczego ich potrzebujesz. Celem tego postu jest pomóc Ci zrozumieć cały obraz zarządzania użytkownikami WordPress i jak działa cały system ról użytkowników. Dodatkowo, mamy zamiar pokryć niektóre ze sposobów modyfikacji tego systemu ról.
Spis treści:
- Podstawy ról i możliwości użytkowników WordPressa
- Dlaczego role użytkowników WordPressa są ważne
- 6 predefiniowanych ról użytkowników WordPressa
- Rejestracja nowych użytkowników WordPressa i przypisywanie Role
- Jak utworzyć domyślne role użytkownika WordPressa
- Jak zmodyfikować istniejące role użytkownika za pomocą wtyczki
- Jak utworzyć niestandardowe role użytkownika WordPressa za pomocą wtyczki
- Jak utworzyć niestandardowe role użytkownika Role ręcznie
- Domyślne możliwości użytkownika WordPressa
- Jak ręcznie zdefiniować możliwości użytkownika
- Jak dostosować możliwości konkretnego użytkownika
- Jak przetestować Role użytkowników
- Jak skutecznie zastosować role użytkowników w witrynie
Podstawy ról i możliwości użytkowników WordPressa
Każde konto, które jest w stanie zalogować się do witryny WordPress, to „użytkownik”.” Konta użytkowników mają uprawnienia do bycia autorami postów, stron, mediów itp. Jako administrator WordPressa masz prawo do tworzenia nowych użytkowników i zarządzania (zmieniania) ich możliwościami, kiedy tylko chcesz.
„Możliwość” to indywidualne działanie, które może wykonać określona rola użytkownika. Aby uzyskać głębsze spojrzenie na tę koncepcję, możesz sprawdzić sekcję Capability vs. Role Table w WordPress Codex.
Dodatkowo każdy użytkownik WordPress ma „rolę”, którą musisz wybrać podczas tworzenia nowego konta.
Dlaczego role użytkowników WordPress są ważne
Dobrym przykładem do wykorzystania jest posiadanie zewnętrznego twórcy treści w swojej witrynie. Dla tego użytkownika, chciałbyś mieć pewne możliwości, takie jak tworzenie treści dostępne, ale być może ograniczyć ich dostęp tylko do tego. Nie chcesz, aby tacy użytkownicy mieli możliwość instalowania wtyczek, zmiany motywów, a może nawet publikowania własnych postów.
Zarządzanie rolami i możliwościami WordPress pozwala dać użytkownikowi tylko bardzo konkretne uprawnienia, których potrzebuje do wykonywania swojej pracy. Pomaga to Twojej witrynie działać płynnie, dodatkowo czyniąc ją bardziej bezpieczną dzięki zastosowaniu podejścia znanego jako zasada najmniejszych przywilejów.
Rola administratora jest najpotężniejszą rolą w pojedynczej witrynie WordPress. Nadanie tej roli komuś, kto potrzebuje tylko możliwości publikowania i edycji, jest niepotrzebne i nieoptymalne pod względem bezpieczeństwa. Jeśli chodzi o regularne zadania związane z publikowaniem, rola Redaktora jest bardziej niż odpowiednia. Co więcej, jeśli użytkownik musi tylko pisać i publikować posty, rola Autor jest dla niego odpowiednim wyborem. Rola Administratora jest potrzebna tylko wtedy, gdy musisz zrobić to, czego nie mogą zrobić inne role, a mianowicie zainstalować (lub odinstalować) wtyczki lub motywy, zmienić motywy, stworzyć nowych użytkowników itp. Zasada najmniejszych przywilejów istnieje nie bez powodu – maksymalne bezpieczeństwo.
6 predefiniowanych ról użytkownika WordPressa
Lista domyślnych ról i możliwości użytkownika jest dostępna w Codexie WordPressa. Po wyjęciu z pudełka, WordPress jest dostarczany z sześcioma rolami:
- Super Administrator. Jest to rola, która istnieje tylko dla sieci wielostanowiskowych. Jest to potężniejsza wersja niż Administrator. Super admin ma możliwość zmiany i kontroli wszystkich witryn WordPress w sieci wielostanowiskowej, a także decydowania, kto ma wszystkie określone rodzaje dostępu do każdej z tych witryn.
- Administrator. Jest to rola użytkownika, którą każdy właściciel witryny WordPress wykorzystuje podczas logowania się do swojej witryny. Jest to pierwsza rola użytkownika, że CMS sprawia, że domyślnie. Administrator jest najpotężniejszą rolą, jeśli chodzi o pojedynczą witrynę WordPress. Admini WordPress stoją na szczycie piramidy, a jeśli jest coś, czego nie mogą zrobić, to nie inni użytkownicy mogą.
- Edytor. Rola użytkownika tuż pod Administrator jest Edytor. Jeśli jesteś redaktorem witryny WordPress, będziesz mógł pracować z postami, stronami i mediami i zarządzać nimi w każdy możliwy sposób. Nie masz jednak możliwości tworzenia nowych użytkowników, dodawania motywów i wtyczek, ani zmieniania niczego, co wpływa na funkcjonalność witryny.
- Autor. Zaraz poniżej Redaktora znajduje się Autor. Ta rola jest ograniczona do zmiany tylko ich własnych postów i mediów. Autorzy WordPress nie mają możliwości zmiany treści, które zostały utworzone przez innych użytkowników.
- Współtwórca. Współtwórcy mogą jedynie edytować swoje posty, usuwać swoje nieopublikowane posty i czytać witrynę. Nie mają możliwości publikowania.
- Subskrybent. Ta rola jest przeznaczona dla osób, które po prostu chcesz mieć konto na swojej stronie WordPress. Mają tylko jedną zdolność – do odczytu witryny w taki sam sposób, jak ktoś bez konta może.
Oczywiście, WordPress jest niesamowite, nie ogranicza nas do korzystania tylko z jego domyślnych ról i możliwości. Jako użytkownik WordPressa lub deweloper, możesz zmienić domyślne role i możliwości, jak również tworzyć nowe specyficzne. Ogólnie rzecz biorąc, możesz uzyskać o wiele więcej niż to, co jest oferowane po wyjęciu z pudełka w systemie zarządzania użytkownikami WordPress.
Rejestracja nowych użytkowników WordPress i przypisywanie ról
Jak utworzyć domyślne role użytkownika WordPress
Aby zarejestrować nowego użytkownika z domyślną rolą WordPress, musisz tylko przejść do Użytkownik → Dodaj nowy na pasku bocznym WordPress Admin:
How to Modify Existing User Roles Using a Plugin
Domyślne role użytkowników WordPressa zostały stworzone, aby pokryć większość możliwości potrzebnych podczas prowadzenia strony internetowej. Możesz jednak zdecydować się na modyfikację tych domyślnych ról, nadając im określone możliwości.
Autor jest jedną z ról, której możesz nie lubić w jej domyślnej wersji. Tak, autorzy są być może osobami godnymi zaufania, ale posiadanie zdolności do usuwania własnych postów może być dość ryzykowne.
Istnieje sposób na modyfikację istniejącej roli. Na przykład, możesz usunąć możliwość usuwania postów dla autorów. Jak wiesz, istnieje wtyczka WordPress dla prawie wszystkiego, co możesz wymyślić, a role użytkowników nie są wyjątkiem. Jest prosty sposób, aby to zrobić:
- Zacznij od zainstalowania i aktywowania wtyczki PublishPress Capabilities:
- Po aktywacji wtyczki kliknij Edit Roles, aby zmodyfikować role użytkowników:
- Wybierz rolę użytkownika, którą chcesz edytować. Możesz to zrobić z górnego pola w prawej kolumnie:
- Kliknij przycisk Załaduj.
- To spowoduje załadowanie możliwości użytkowników w polach po lewej stronie:
- Zaznacz możliwości, które chcesz usunąć z tej roli użytkownika, lub dodaj kilka, jeśli uważasz, że jest to konieczne.
Jak utworzyć niestandardowe role użytkownika WordPress za pomocą wtyczki
Używając tej samej wtyczki PublishPress Capabilities, jesteś w stanie utworzyć swoje niestandardowe role użytkownika WordPress z ich konkretnymi możliwościami.
Po zainstalowaniu i aktywowaniu wtyczki przejdź do Użytkownicy → Możliwości i wprowadź żądaną rolę użytkownika w sekcji Utwórz nową rolę:
Powszechną rolą, której potrzebują blogi i strony internetowe, jest Moderator komentarzy.
Jak widać na powyższym zrzucie ekranu, możesz również użyć wtyczki do skopiowania innej roli z jej możliwościami, zmienić nazwę istniejącej roli, a także utworzyć niestandardowe możliwości.
Jak utworzyć niestandardowe role użytkownika ręcznie
W przypadku, gdy jesteś typem majsterkowicza i nie chcesz pokładać zaufania w wtyczkach, możesz utworzyć niestandardowe role użytkownika z ich specyficznymi możliwościami ręcznie.
Aby efektywnie zarządzać rolami i możliwościami, istnieje pięć bardzo prostych funkcji:
- add_role(): Umożliwia dodanie niestandardowej roli.
- remove_role(): Umożliwia usunięcie niestandardowej roli.
- add_cap(): Umożliwia dodanie niestandardowej zdolności do roli.
- remove_cap(): Umożliwia usunięcie niestandardowej zdolności z roli.
- get_role(): Uzyskuje informacje o roli, jak również możliwości związane z rolą.
Dla tego artykułu, będziemy tworzyć niestandardową rolę użytkownika za pomocą funkcji add_role
. Istnieją trzy parametry:
- Nazwa roli podobna do sluga (np, 'comment_moderator');
- Nazwa wyświetlana dla roli (Moderator komentarzy)
- Lista możliwości, które ma posiadać dany typ użytkownika;
Przykładowy kod PHP, jak powinien wyglądać:
add_action('init', 'wps_add_roles');
function wps_add_roles() {
add_role(
'comment_moderator',
__('Commment Moderator'),
array(
'read' => true,
'edit_posts' => true,
'edit_other_posts' => true,
'edit_published_posts' => true,
'moderate_comments' => true
)
);
}
Ponownie, rola otrzymuje tylko niezbędne jej możliwości – moderowanie komentarzy, edycję postów (własnych, innych użytkowników i opublikowanych) oraz czytanie strony.
Nowe role są przechowywane w bazie danych i przeładowywane stamtąd przez WordPress w razie potrzeby. Możesz mieć je utworzone zaraz po aktywacji swojej wtyczki. Nie powinno to niczego zepsuć, jeśli masz role zaczepione do akcji init, ale nie działa tak dobrze.
Domyślne możliwości użytkownika WordPressa
Istnieją dwa rodzaje możliwości użytkownika WordPressa, z których oba różnią się od siebie:
- Możliwości meta – zależą od kontekstu. Przykład: użytkownik może edytować post, jeśli jest jego autorem (
edit_post
meta capability) - Primitive Capabilities – nie zależą od kontekstu. Przykład: użytkownik ma możliwość edytowania postów utworzonych przez innych użytkowników (
edit_other_posts
primitive capability)
WordPress automatycznie tłumaczy meta możliwości na jedną lub wiele prymitywnych możliwości dla zwykłych postów. To powiedziawszy, podczas korzystania z typów postów należy ręcznie zmapować meta możliwości do prymitywnych możliwości.
Zobacz Codex WordPressa, aby uzyskać dokładną listę jego wbudowanych możliwości.
Jak ręcznie zdefiniować możliwości użytkownika
W PHP, role WordPressa są obiektami, których używasz i modyfikujesz. Rola WordPressa jest dostępna na jeden z dwóch sposobów: poprzez zmienną globalną $wp_roles
, lub poprzez użycie funkcji dostępowej – get_role
.
Powiedzmy, że chcesz dodać możliwość usuwania użytkowników przez edytorów. Oto jak to zrobisz poprzez zmienną globalną $wp_roles
:
function wps_editor_can_remove_users(){
global $wp_roles;
$wp_roles->add_cap( 'editor', 'remove_users' );
}
And here is the get_role option:
function wps_editor_can_remove_users() {
$editor = get_role( 'editor' );
$editor->add_cap( 'remove_users' );
}
W drugim przykładzie, pobieranie roli (’editor') zajmuje się parametrem 'editor' na wywołaniu metody add_cap. Możesz wywołać obie metody bezpośrednio w pliku functions.php swojego pluginu lub motywu.
Zauważ, że zarówno add_cap
jak i remove_cap
(jego przeciwieństwo) są metodami obiektowymi, a nie po prostu funkcjami, które wywołujesz. Nie możesz wywołać add_cap
(’editor', 'remove_user'). Zamiast tego, musisz najpierw uzyskać obiekt WP_Role i masz dwie opcje – użyć get_role
lub uzyskać dostęp do globalnego obiektu $wp_roles
.
Jak dostosować możliwości konkretnego użytkownika
Tutaj będziemy nieco bardziej konkretni, zawężając możliwości dla konkretnego użytkownika, a nie dla całej roli użytkownika. Jeśli chcesz mieć pełną kontrolę nad swoją stroną i trzymać rzeczy ściśle określone, zmiana możliwości dla konkretnych użytkowników jest zalecana. Ta metoda jest lepsza, jeśli chcesz być bardziej elastyczny z rolami użytkowników w ogóle. Czasami możesz chcieć dodać lub usunąć możliwości, jeśli chodzi o konkretnego użytkownika, wiedząc, że nie zrobisz tego dla nikogo innego w tej samej roli użytkownika.
Aby zmienić możliwości konkretnego użytkownika, możesz użyć metod add_cap
i remove_cap
na wspomnianym użytkowniku. Oto przykład:
add_action( 'init', 'wps_david_cant_edit' );
function wps_david_cant_edit() {
$user_id = 13; // The ID of the user
$user = new WP_User( $user_id );
$user->remove_cap( 'edit_posts' );
}
To jest nadpisanie na konkretnego użytkownika po załadowaniu ogólnych możliwości roli użytkownika.
Jak przetestować role użytkownika
Po utworzeniu własnych niestandardowych ról użytkownika WordPress i możliwości za pomocą metod w tym poście, być może będziesz chciał przetestować rzeczy. Upewnienie się, że wszystko działa dobrze dla wszystkich użytkowników jest częścią twojej pracy jako administratora WordPressa.
Najprostszą metodą testowania niestandardowych ról i możliwości użytkownika jest utworzenie wielu różnych kont z różnymi rolami użytkownika, Po wykonaniu tej czynności zaloguj się na każde z tych kont, aby sprawdzić, czy wszystkie ich możliwości działają poprawnie.
Jeśli chcesz zaoszczędzić trochę czasu, rozważ użycie darmowej wtyczki Przełączanie użytkowników. Pozwala on na szybkie przełączanie się między kontami użytkowników, a możesz to robić bez konieczności logowania się i wylogowywania na każde testowane konto. Wtyczka jest wygodnie dostępna w oficjalnym repozytorium wtyczek WordPress.
Jak skutecznie zastosować role użytkownika na swojej stronie internetowej
Ważne jest zrozumienie ról użytkownika, ale równie ważne jest, aby wiedzieć, jak je prawidłowo zastosować.
Zdajemy sobie sprawę, że każda witryna WordPress jest inna, ale oto kilka ogólnych wskazówek, jak najlepiej wykorzystać system ról użytkownika:
- Daj użytkownikom tylko potrzebne możliwości. Jest to obowiązkowe, gdy chcesz, aby Twoja witryna i jej zawartość były bezpieczne, zapewniając, że żaden użytkownik nie może wprowadzać niezatwierdzonych zmian.
- Utrzymuj liczbę uprzywilejowanych użytkowników tak ograniczoną, jak to tylko możliwe. Jeśli możesz, trzymaj się jednego Administratora (Ty) i kilku redaktorów. Daj rolę Autora użytkownikom, którzy udowodnili, że są godni zaufania, a rolę Współtwórcy zachowaj dla początkujących twórców treści.
- Użyj wtyczek, aby dostosować role użytkowników. Domyślny system jest skuteczny, ale wtyczki ról użytkowników pomagają tworzyć własne wyspecjalizowane role użytkowników, zmieniać istniejące i nie tylko.
Pamiętaj, że lepiej dla Ciebie i Twojej witryny WordPress jest przypisać zbyt mało uprawnień niż zbyt wiele.
Wniosek
System użytkowników WordPressa to sposób na poradzenie sobie z władzą nad Twoją witryną WordPress. Kiedy przypiszesz każdego użytkownika do jego dopasowanej roli z konkretnie ograniczonymi możliwościami, masz pełną kontrolę i poczucie bezpieczeństwa, że nic nie może pójść nie tak content-wise.
Początkowo cały system ról i możliwości użytkowników WordPressa może być nieco trudny do zrozumienia i wydawać się zbyt skomplikowany. Jednak po zrozumieniu kluczowej koncepcji stojącej za systemem zarządzania użytkownikami z pewnością staniesz się mistrzem w zarządzaniu stronami internetowymi i zdecydujesz, kto dostanie się do czego. System zarządzania użytkownikami WordPress daje wyjątkową elastyczność i jest po prostu kolejną rzeczą, która sprawia, że WordPress jest wspaniały.