Role i możliwości użytkowników w WordPress – co to jest?

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ów
  • publish_posts — publikowanie wpisów
  • manage_options — dostęp do ustawień witryny
  • install_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 roli
  • remove_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.