WordPress domyślnie oferuje kilka ról użytkowników – administrator, redaktor, autor, współpracownik i subskrybent. Każda z nich ma przypisane inne uprawnienia. Czasami jednak potrzebujemy stworzyć rolę szytą na miarę, np. dla klienta, pracownika czy freelancera. W tym artykule pokażemy, jak dodać własne role i przypisać im indywidualne prawa dostępu.
1. Po co tworzyć własne role?
Tworzenie nowych ról w WordPress ma sens, gdy:
- chcesz udzielić dostęp tylko do części panelu (np. edycja wpisów, ale bez publikacji),
- klient ma mieć możliwość dodawania treści, ale nie ingerencji w ustawienia strony,
- chcesz ograniczyć ryzyko przypadkowych zmian w konfiguracji strony,
- budujesz portal z wieloma autorami i chcesz precyzyjnie zarządzać ich uprawnieniami.
2. Dodanie roli przez kod
Najprostszy sposób to użycie funkcji add_role() w pliku functions.php Twojego motywu potomnego (child theme) lub w małej wtyczce.
Przykład – nowa rola „Konsultant SEO” z możliwością edytowania wpisów, ale bez publikacji:
function dodaj_role_konsultant_seo() {
add_role(
'konsultant_seo',
'Konsultant SEO',
array(
'read' => true,
'edit_posts' => true,
'publish_posts'=> false,
'delete_posts' => false,
)
);
}
add_action('init', 'dodaj_role_konsultant_seo');
Po zapisaniu kodu w panelu WordPress pojawi się nowa rola.
3. Usuwanie roli
Jeśli chcesz usunąć niestandardową rolę, użyj funkcji remove_role():
function usun_role_konsultant_seo() {
remove_role('konsultant_seo');
}
add_action('init', 'usun_role_konsultant_seo');
4. Modyfikowanie uprawnień istniejących ról
Możesz też dodać lub odebrać uprawnienia roli, np. dla „Redaktora”:
function modyfikuj_role_redaktora() {
$role = get_role('editor');
$role->add_cap('manage_options'); // dodanie dostępu do ustawień
$role->remove_cap('delete_published_posts'); // odebranie możliwości usuwania wpisów
}
add_action('init', 'modyfikuj_role_redaktora');
5. Wtyczki do zarządzania rolami
Jeśli nie chcesz używać kodu, możesz skorzystać z wtyczek:
- User Role Editor – najpopularniejsza, daje pełną kontrolę nad rolami i uprawnieniami,
- Members – prostsza, intuicyjna, z opcją ukrywania treści dla wybranych ról.
Podsumowanie
Dodawanie własnych ról w WordPress to świetny sposób na zwiększenie bezpieczeństwa i uporządkowanie pracy zespołu. Dzięki niemu użytkownicy mają dostęp tylko do tych funkcji, których naprawdę potrzebują. Możesz zrobić to zarówno kodem, jak i przy pomocy wtyczek – wybór zależy od Twoich preferencji.