System ról i możliwości (Roles and Capabilities) to wbudowany mechanizm WordPressa do zarządzania uprawnieniami użytkowników. Określa, jakie działania zalogowana osoba może wykonać — instalować wtyczki, publikować wpisy, moderować komentarze, edytować ustawienia witryny.
Jak działa ten system
WordPress opiera kontrolę dostępu na możliwościach (capabilities) — granularnych uprawnieniach do konkretnych działań:
edit_posts— edytowanie wpisówpublish_posts— publikowanie wpisówmanage_options— dostęp do ustawień witrynyinstall_plugins— instalowanie wtyczek
Role to zestawy możliwości zebrane w jeden profil. Zamiast przypisywać dziesiątki uprawnień pojedynczo, użytkownik dostaje rolę — a ona zawiera odpowiedni zestaw możliwości.
Gdy użytkownik próbuje wykonać działanie, WordPress sprawdza funkcją current_user_can(), czy posiada wymaganą możliwość. Jeśli nie — akcja jest blokowana.
Pięć domyślnych ról
Administrator. Pełna kontrola nad witryną — instalowanie wtyczek, zmiana motywu, zarządzanie użytkownikami, edycja wszystkich treści, dostęp do wszystkich ustawień.
Redaktor (Editor). Może tworzyć, edytować i publikować wpisy — w tym wpisy innych użytkowników. Zarządza komentarzami i kategoriami. Nie ma dostępu do ustawień witryny ani instalacji wtyczek.
Autor (Author). Może tworzyć, edytować i publikować tylko własne wpisy. Może wgrywać pliki do biblioteki mediów. Nie edytuje cudzych wpisów.
Współpracownik (Contributor). Może tworzyć i edytować własne wpisy, ale nie może ich samodzielnie publikować — wpisy trafiają do statusu „oczekuje na przegląd”. Nie może wgrywać plików do biblioteki mediów.
Subskrybent (Subscriber). Może tylko edytować własny profil. Nie ma dostępu do treści ani ustawień panelu.
Super Administrator — rola w Multisite
W instalacjach wielostronicowych (WordPress Multisite) pojawia się nadrzędna rola: Super Administrator. Ma pełną kontrolę nad całą siecią witryn — może instalować wtyczki dla całej sieci i zarządzać jej globalnymi ustawieniami. Zwykły Administrator na jednej stronie sieci ma ograniczone uprawnienia względem Super Admina.
Możliwości dodawane przez wtyczki
Wtyczki mogą rejestrować własne możliwości. WooCommerce dodaje np. manage_woocommerce — możliwość zarządzania sklepem bez pełnego dostępu do ustawień WordPressa. Dzięki temu można stworzyć rolę „menedżera sklepu”, który zarządza zamówieniami i produktami, ale nie ma dostępu do instalowania wtyczek ani zmiany motywu.
Modyfikowanie ról
Uprawnienia można rozszerzać i zawężać programistycznie:
add_cap( 'capability' )— dodaje możliwość do użytkownika lub roliremove_cap( 'capability' )— usuwa możliwość
Wtyczki takie jak User Role Editor oferują graficzny interfejs do zarządzania rolami bez pisania kodu.
Zasada minimalnych uprawnień
Dobrą praktyką bezpieczeństwa jest nadawanie użytkownikom tylko tych uprawnień, których faktycznie potrzebują. Nadanie roli Administratora osobie, która potrzebuje jedynie publikować artykuły, jest zbędnym ryzykiem — zarówno w przypadku błędu użytkownika, jak i przejęcia konta.
Więcej o ustawieniach konta: Profil użytkownika w WordPress.
Czego nie mylić
Nie należy mylić ról z poziomami użytkowników (User Levels) — starym systemem numerycznym (0–10) używanym we wczesnych wersjach WordPressa i wycofanym wiele lat temu. Współczesny WordPress opiera się wyłącznie na systemie ról i możliwości.
Ekran zarządzania użytkownikami w kokpicie pozwala przeglądać i edytować role przypisane do każdego konta.