
🔧 Konfiguracja dynamicznego menu WordPress dla zarejestrowanych użytkowników
Zarejestrował się Pan/Pani na Pana/Pani stronie i chce Pan/Pani pokazać mu specjalne menu. Bez wtyczki WordPress nie daje takiej możliwości „od ręki": to samo menu widzą goście, zalogowani użytkownicy i administratorzy. A to jest niewygodne.
Gościowi niepotrzebny jest link „Mój profil", a zalogowany użytkownik nie musi widzieć przycisku „Zaloguj się". Członkowie zamkniętej sekcji potrzebują własnego menu, a subskrybenci, innego. Rozwiązanie istnieje i zajmuje dokładnie jedną bezpłatną wtyczkę.
Sprawdźmy, jak w 10 minut skonfigurować dynamiczne menu WordPress, które samo rozpoznaje, kto przed nim stoi, i pokazuje każdemu odpowiednie pozycje.
💡 Szybki przegląd:
- Zainstaluj bezpłatną wtyczkę User Menus z katalogu WordPress.org.
- Skonfiguruj widoczność pozycji: dla wszystkich odwiedzających, tylko dla gości lub tylko dla zalogowanych użytkowników, aż do konkretnej roli.
- Dodaj do menu żywe imię użytkownika i awatar za pomocą placeholderów, takich jak
{first_name}. - Wstaw linki „Zaloguj się", „Rejestracja" i „Wyloguj się" z konfigurowalnym przekierowaniem.
Co daje dynamiczne menu w praktyce
Proszę sobie wyobrazić: prowadzi Pan/Pani zamknięty klub z lekcjami. Gość widzi menu „O projekcie, Cennik, Zaloguj się". Po zalogowaniu te same pozycje zmieniają się na „Moje kursy, Postęp, Profil, Wyloguj się". Żadnego zamieszania, każdy widzi to, co dla niego przeznaczone.
To samo podejście sprawdza się w sklepach internetowych (dla gościa, katalog i koszyk, dla kupującego, historia zamówień), na forach, tablicach ogłoszeń, portalach korporacyjnych. Wszędzie tam, gdzie użytkownicy logują się do systemu, menu kontekstowe poprawia nawigację i obniża współczynnik odrzuceń.
Standardowy WordPress potrafi obsłużyć dokładnie jedno menu na obszar motywu. Aby rozgałęzić logikę „gość vs użytkownik", potrzebne jest dodatkowe narzędzie. Są trzy opcje: napisać kod w functions.php (elastyczne, ale wymaga programisty), użyć wielofunkcyjnego kombajnu, takiego jak MemberPress (przerost formy nad treścią, jeśli potrzebne jest tylko menu) albo sięgnąć po lekką, specjalistyczną wtyczkę. Tę trzecią drogę właśnie omówimy.
Bezpłatna wtyczka User Menus: co potrafi i dlaczego jest dobra

User Menus, Nav Menu Visibility została stworzona przez zespół Code Atlantic (wcześniej Jungle Plugins). Wtyczka jest bezpłatna, znajduje się w oficjalnym katalogu WordPress.org, ma ponad 80 000 aktywnych instalacji i utrzymuje ocenę 5 na 5 gwiazdek na podstawie ponad 1275 opinii. Ostatnia aktualizacja ukazała się w 2026 roku, deklarowana jest kompatybilność aż do WordPress 7.0.
Trzy główne funkcje, dla których instaluje się tę wtyczkę:
Zarządzanie widocznością. Każdej pozycji menu przypisuje się regułę: widzą wszyscy, tylko goście (wylogowani) lub tylko zalogowani użytkownicy (zalogowani). Dla zalogowanych można dodatkowo ograniczyć widoczność do konkretnych ról, na przykład pozycję „Panel administracyjny" widzą tylko Administratorzy i Redaktorzy.
Żywe dane użytkownika w menu. W tekście pozycji umieszczane są wartości dynamiczne: imię (
{first_name}), nazwisko ({last_name}), login ({username}), nazwa wyświetlana ({display_name}), pseudonim ({nickname}), email ({email}), a nawet awatar ({avatar}) z konfigurowalnym rozmiarem. Menu zmienia się ze statycznej listy w spersonalizowany panel: „Witaj, Aleksy" zamiast bezosobowego „Mój profil".Linki logowania, rejestracji i wylogowania. Dodaje się je kilkoma kliknięciami za pomocą wbudowanego widżetu „User Links" w edytorze menu. Dla każdego linku konfiguruje się przekierowanie: bieżąca strona, strona główna lub dowolny adres URL.
Wtyczka jest wyjątkowo lekka, wymaga minimum WordPress 4.6 i PHP 5.6, nie ma żadnych natrętnych upselli. Nie ma wersji premium, cała funkcjonalność jest dostępna od razu.
Jedyny niuans: User Menus nie tworzy osobnych menu dla różnych ról. Zarządza widocznością pozycji wewnątrz jednego menu. Jeśli potrzebuje Pan/Pani właśnie przełączania całych menu (gość widzi Menu A, autor, Menu B), proszę spojrzeć w stronę Conditional Menus lub If Menu. Jednak w 90% scenariuszy typu „pokaż/ukryj pozycje" User Menus rozwiązuje problem bez zbędnego obciążenia.
Instalacja i konfiguracja w 3 krokach
Wtyczkę instaluje się standardowo, przez panel administracyjny WordPress.
Instalacja: Wtyczki → Dodaj nową, w wyszukiwaniu proszę wpisać „User Menus" (autor: Daniel Iser, Code Atlantic). Kliknąć Zainstaluj, a następnie Włącz.
Po aktywacji w edytorze menu (Appearance → Menus) przy każdej pozycji pojawia się nowy blok ustawień. Dalej, krok po kroku.
Krok 1: Konfiguracja widoczności pozycji menu

Proszę otworzyć dowolną istniejącą pozycję menu lub utworzyć nową. W rozwiniętym bloku pojawi się lista rozwijana „Kto może zobaczyć ten link" z trzema opcjami:
- Everyone, pozycję widzą wszyscy odwiedzający (domyślnie).
- Logged Out Users, tylko goście, którzy nie są zalogowani. Tutaj trafiają linki „Zaloguj się" i „Rejestracja".
- Logged In Users, tylko zalogowani użytkownicy. Po wybraniu tej opcji rozwija się dodatkowe ustawienie: można zaznaczyć konkretne role, dla których pozycja jest dostępna, lub odwrotnie, wykluczyć poszczególne role z widoczności.
Jeśli nie wybrano żadnej roli, pozycję widzą wszyscy zalogowani użytkownicy. Gdy tylko zaznaczy Pan/Pani choć jedną rolę na liście „Wybierz, które role mogą zobaczyć ten link", pozycja staje się widoczna tylko dla tych ról.
Po skonfigurowaniu proszę kliknąć Zapisz menu. Proszę sprawdzić wynik w trybie incognito: otworzyć stronę jako gość i po zalogowaniu, menu powinny się różnić.
Krok 2: Personalizacja, imię użytkownika w menu

Najbardziej zauważalnym dla użytkownika akcentem jest sytuacja, gdy menu zwraca się do niego po imieniu.
Proszę utworzyć pozycję menu dostępną tylko dla „Logged In Users". W polu Etykieta nawigacji proszę kliknąć szary przycisk ze strzałką, rozwinie się lista dostępnych placeholderów. Proszę wybrać odpowiedni (na przykład {first_name}), a zostanie on wstawiony do tekstu pozycji. Można je łączyć: „Witaj, {first_name} {last_name}" lub „{display_name}, Profil".
Dostępne placeholder: imię ({first_name}), nazwisko ({last_name}), login ({username}), nazwa wyświetlana ({display_name}), pseudonim ({nickname}), email ({email}) oraz awatar ({avatar}). Dla awatara konfiguruje się rozmiar w pikselach.
Proszę zapisać menu i sprawdzić na koncie testowym, w nawigacji powinno wyświetlić się jego imię.
Krok 3: Linki logowania i wylogowania

W lewej kolumnie edytora menu, w bloku Dodaj pozycje menu, proszę rozwinąć sekcję User Links. Proszę zaznaczyć checkboxami odpowiednie linki:
- Login, link „Zaloguj się".
- Register, link „Rejestracja".
- Logout, link „Wyloguj się".
Proszę kliknąć Dodaj do menu. Wtyczka sama doda je z prawidłowymi adresami URL.
Proszę rozwinąć dodaną pozycję i skonfigurować przekierowanie na liście rozwijanej „Dokąd następnie przekierować użytkowników?":
- Current Page, użytkownik pozostaje na tej samej stronie (wygodne przy logowaniu: zalogował się i kontynuuje w tym samym miejscu).
- Homepage, przekierowanie na stronę główną.
- Custom URL, dowolna strona, na przykład konto osobiste lub strona z podziękowaniem.
Rekomenduję dla linku „Zaloguj się" ustawić Current Page lub Custom URL (do konta osobistego), a dla „Wyloguj się", Homepage. Rejestrację można skierować na stronę powitalną nowego uczestnika.
Po zapisaniu proszę sprawdzić oba linki na działającej stronie, zarówno jako gość, jak i zalogowany użytkownik. Logika jest automatyczna: gość widzi „Zaloguj się / Rejestracja", zalogowany użytkownik widzi „Wyloguj się".
Instrukcja wideo: cała konfiguracja w 5 minut
Poglądowe omówienie wszystkich trzech kroków z ekranu w tym krótkim poradniku:
Po konfiguracji proszę sprawdzić działanie na prawdziwej stronie: otworzyć stronę w trybie incognito (gość), a następnie zalogować się na konto testowe. Menu powinno zmieniać się dynamicznie, bez przeładowania strony.
⁉️🤔 Często zadawane pytania
Czy można zrobić różne menu dla różnych ról, a nie tylko „gość/użytkownik"?
Tak, właśnie do tego służy wybór ról w ustawieniach pozycji. Ustawia Pan/Pani widoczność „Logged In Users", a następnie w bloku „Wybierz, które role mogą zobaczyć ten link" zaznacza odpowiednie role. Redaktorzy widzą jedne pozycje, subskrybenci, inne. Jeśli ról jest dużo, wygodnie jest użyć metody wykluczania: zaznaczyć „Wybierz, które role nie zobaczą tego linku" i usunąć jedną lub dwie role, pozostawiając menu dla wszystkich pozostałych.
Czy wtyczka wchodzi w konflikt z motywami i innymi wtyczkami?
W praktyce User Menus współpracuje z większością motywów, w tym z niestandardowymi i motywami FSE. Jeśli menu nie zmienia się dynamicznie po konfiguracji, najprawdopodobniej motyw używa menu zakodowanego na stałe (hardcoded
wp_nav_menubez filtrów). Wtedy pomoże zmiana motywu lub zastąpienie wywołania menu w szablonie standardowym. Nie odnotowano konfliktów z innymi wtyczkami, wtyczka działa na standardowych hakach WordPress.
Co zrobić, jeśli wtyczka przestanie być aktualizowana?
User Menus jest stabilna i wykonuje dokładnie jedną funkcję, zarządzanie widocznością pozycji menu. Nawet jeśli autor wstrzyma rozwój, wtyczka będzie nadal działać: nie zależy od zewnętrznych API i jest zbudowana na natywnych mechanizmach WordPress (filtr
wp_nav_menu_objects). W ostateczności tę samą logikę można zaimplementować kodem wfunctions.php, ale dla typowych stron prościej jest pozostać przy wtyczce.
Czy do działania dynamicznego menu potrzebna jest wtyczka do cache'owania?
Jeśli używa Pan/Pani agresywnego cache'owania stron (WP Rocket, LiteSpeed z cache'em dla gości), menu może „zamarznąć" w stanie, w jakim zobaczył je pierwszy odwiedzający. Rozwiązaniem jest włączenie opcji „Oddzielny cache dla zalogowanych użytkowników" w ustawieniach wtyczki cache'ującej. Większość nowoczesnych wtyczek do cache'owania potrafi automatycznie rozróżniać gości i zalogowanych użytkowników.
Co stosować w 2026 roku do dynamicznych menu WordPress
User Menus pozostaje najprostszym i najpopularniejszym rozwiązaniem dla zadania „pokaż/ukryj pozycje menu w zależności od statusu użytkownika". Ponad 80 000 aktywnych instalacji i ocena 5 gwiazdek mówią same za siebie: wtyczka działa, nie psuje się i nie przeciąża strony.
Jeśli potrzebna będzie bardziej subtelna logika, przełączanie całych menu, geotargeting, warianty A/B, proszę spojrzeć na Conditional Menus lub If Menu. Jednak w większości przypadków trzech reguł „wszyscy / goście / zalogowani" wystarcza.
Proszę wypróbować User Menus na testowej instalacji WordPress. To nic nie kosztuje, instalacja zajmuje minutę, a rezultatem jest profesjonalne, dynamiczne menu, które samo dostosowuje się do odwiedzającego.



