Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak wyświetlać różne menu dla zalogowanych użytkowników w WordPress

Czy kiedykolwiek zauważyłeś, jak mylące może być dla odwiedzających Twoją witrynę WordPress, gdy są zalogowani, ale nadal widzą wszędzie przyciski „Zaloguj” lub „Zarejestruj”? A może Twoi członkowie mają trudności ze znalezieniem swojego panelu konta, ponieważ jest on ukryty w menu.

Te drobne frustracje mogą sprawić, że nawet Twoi najbardziej lojalni użytkownicy poczują się jak outsiderzy na Twojej własnej stronie internetowej.

A spersonalizowane menu może zrobić ogromną różnicę. Pokazywanie zalogowanym użytkownikom opcji takich jak „Moje konto” lub „Wyloguj” zamiast ogólnych linków sprawia, że Twoja witryna wydaje się bardziej przyjazna i profesjonalna.

Dobra wiadomość? Tworzenie dynamicznych menu w WordPress jest łatwiejsze, niż myślisz.

W tym przewodniku pokażemy Ci dwie proste metody wyświetlania różnych menu dla zalogowanych użytkowników, niezależnie od Twojego poziomu umiejętności. 💡

Wyświetlanie różnych menu nawigacyjnych dla zalogowanych i niezalogowanych użytkowników w WordPress

Dlaczego wyświetlać różne menu zalogowanym użytkownikom w WordPress?

Zmienianie różnych obszarów Twojej strony WordPress w zależności od odwiedzających i ich aktywności sprawia, że Twoja witryna wydaje się spersonalizowana dla każdego użytkownika.

Ta spersonalizowana treść pomaga poprawić doświadczenie użytkownika na Twojej stronie WordPress.

Teraz, jeśli prowadzisz stronę internetową, na której użytkownicy nie muszą się rejestrować ani logować, prawdopodobnie możesz używać tych samych menu nawigacyjnych na całej swojej stronie. Jednak inne strony internetowe mogą znacznie skorzystać z wyświetlania niestandardowych menu zalogowanym użytkownikom.

Na przykład strony takie jak sklep internetowy, platforma e-learningowa lub społeczność strony członkowskiej WordPress mogą skorzystać z personalizowanych menu nawigacyjnych.

Spersonalizowane menu nawigacyjne dla zalogowanych użytkowników pomaga im łatwiej znaleźć rzeczy, na które się zapisali.

Na przykład użytkownik w sklepie internetowym może zarządzać swoim kontem, a członek płatnej społeczności może łatwo odnowić swoją subskrypcję lub wyświetlić ekskluzywne kursy online, które zakupił.

Różne menu dla zalogowanych użytkowników

Domyślnie WordPress pozwala tworzyć tyle menu nawigacyjnych, ile chcesz. Możesz jednak wybrać wyświetlanie tylko jednego menu w określonej lokalizacji w swoim motywie WordPress.

Zanim skonfigurujesz menu dla zalogowanych użytkowników, musisz najpierw utworzyć dwa oddzielne menu nawigacyjne. Jedno menu będzie dla zalogowanych użytkowników, a drugie dla niezalogowanych. Zacznijmy.

⚠️ Krótka uwaga! Metody, którymi się dzielimy, są przeznaczone dla osób korzystających z klasycznych motywów WordPress. Jeśli używasz motywu blokowego z funkcjami Edycji Pełnego Witryny (FSE) z WordPress 5.8 i nowszych, ta metoda może nie działać. 

Tworzenie menu dla zalogowanych i niezalogowanych użytkowników w WordPress

Aby utworzyć oddzielne menu dla obu typów użytkowników, przejdź do strony Wygląd » Menu w panelu administracyjnym WordPress.

Jeśli masz już menu nawigacyjne, którego używasz na swojej stronie dla wszystkich użytkowników, może ono służyć jako Twoje domyślne menu.

Menu główne

Następnie możesz kliknąć link „utwórz nowe menu”, aby utworzyć nowe niestandardowe menu dla zalogowanych użytkowników.

Tutaj możesz dodać pozycje menu, które chcesz wyświetlić zarejestrowanym lub zalogowanym użytkownikom. Na przykład, możesz dodać link do wylogowania do swojego menu.

Po lewej stronie ekranu zobaczysz listę stron Twojej witryny. Po prostu zaznacz pole wyboru obok każdej strony, którą chcesz dodać do swojego menu, i kliknij przycisk „Dodaj do menu”.

Menu dla zalogowanych

Możesz również przeciągać i upuszczać elementy menu po prawej stronie ekranu, aby je uporządkować.

Niżej na stronie możesz wybrać lokalizację do wyświetlenia swojego menu. Ale nie musisz przypisywać lokalizacji do tego menu teraz. Zrobimy to później w artykule.

Nie zapomnij kliknąć przycisku „Zapisz menu”, aby zachować zmiany.

Aby uzyskać więcej informacji na temat tworzenia menu, zapoznaj się z naszym przewodnikiem dla początkujących po menu nawigacyjnych WordPress.

Teraz jesteś gotowy, aby wyświetlać różne menu zalogowanym użytkownikom. Oto szybki przegląd wszystkich metod, które omówimy w tym przewodniku:

Gotowy na stworzenie bardziej spersonalizowanego doświadczenia? Zanurzmy się! 🌟

Metoda 1. Wyświetlanie różnych menu dla zalogowanych użytkowników w WordPress przy użyciu wtyczki

Najprostszym sposobem na wyświetlanie różnych menu zalogowanym użytkownikom jest użycie wtyczki Conditional Menus. Zainstalujmy i aktywujmy ją najpierw.

Więcej szczegółów znajdziesz w naszym przewodniku krok po kroku na temat jak zainstalować wtyczkę WordPress.

Po aktywacji musisz przejść do Wygląd » Menu z panelu administracyjnego WordPress. Następnie przełącz się na zakładkę „Zarządzaj lokalizacjami”.

Z tego miejsca zobaczysz listę dostępnych lokalizacji menu zdefiniowanych w motywie WordPress i menu, które są aktualnie wyświetlane.

Na przykład nasza lokalizacja „Menu główne” obecnie wyświetla „Menu główne”.

Zarządzaj lokalizacjami menu

Teraz musimy poinformować wtyczkę, aby wyświetlała inne menu, gdy spełniony jest określony warunek.

Aby to zrobić, kliknij link „+ Menu warunkowe”. Następnie możesz wybrać menu nawigacyjne, które chcesz pokazać zalogowanym użytkownikom, z listy rozwijanej.

Wybierz menu dla zalogowanych

Następnie kliknij link „+ Warunki”.

Spowoduje to wyświetlenie okna podręcznego, w którym zobaczysz wiele warunków do wyboru.

Wybierz zalogowanego użytkownika jako warunek

Po prostu zaznacz pole wyboru obok opcji „Użytkownik zalogowany”, a następnie kliknij przycisk „Zapisz”.

Teraz możesz odwiedzić swoją witrynę, aby zobaczyć menu dla zalogowanych użytkowników w akcji. Możesz również wylogować się z panelu administracyjnego WordPress, aby zobaczyć menu nawigacyjne, które będzie wyświetlane wszystkim innym użytkownikom.

Różne menu dla zalogowanych użytkowników

Metoda 2. Ręczne wybieranie menu dla zalogowanych użytkowników w WordPressie za pomocą kodu

Ta metoda wymaga dodania kodu do Twojej witryny WordPress. Jeśli nigdy tego nie robiłeś, zapoznaj się z naszym przewodnikiem jak kopiować i wklejać fragmenty kodu w WordPress.

Ogólnie rzecz biorąc, blogi poinformują Cię, że musisz dodać fragment kodu do pliku functions.php swojego motywu lub do wtyczki specyficznej dla witryny. Jednak nie zalecamy tej metody, ponieważ może ona potencjalnie powodować problemy z Twoją witryną.

Zamiast tego możesz użyć wtyczki WPCode.

WPCode pozwala na dodawanie niestandardowych fragmentów kodu do Twojej witryny bez bezpośredniej edycji plików motywu. Pomaga również w zarządzaniu tymi fragmentami i zapewnia ich bezpieczne wykonywanie, minimalizując ryzyko uszkodzenia witryny.

ℹ️ Uwaga: Wśród naszych marek partnerskich WPCode było naszym narzędziem do dodawania niestandardowych fragmentów kodu w celu rozszerzenia funkcjonalności każdej witryny. Jeśli chcesz dowiedzieć się więcej, możesz przeczytać naszą obszerną recenzję WPCode.

Aby rozpocząć, zainstalujmy wtyczkę WPCode. Możesz użyć bezpłatnej wersji WPCode, ponieważ ma ona wszystkie funkcje potrzebne do wyświetlania różnych menu zalogowanym użytkownikom.

Ale jeśli chcesz mieć dostęp do zaawansowanych funkcji, takich jak historia rewizji kodu i planowanie publikacji fragmentów kodu, rozważ uaktualnienie do WPCode Pro.

Po zainstalowaniu przejdź do Fragmenty kodu » + Dodaj fragmenty.

Przycisk Dodaj fragment w WPCode

Spowoduje to otwarcie galerii fragmentów kodu WPCode.

Stąd możesz kliknąć przycisk „+ Dodaj niestandardowy fragment”.

Dodaj przycisk niestandardowego fragmentu kodu w WPCode

Następnie przejdziesz do edytora tekstu WPCode.

Następnym krokiem jest dodanie tytułu do fragmentu kodu i wybranie „Fragment kodu HTML” z menu rozwijanego „Typ kodu”.

Dodawanie tytułu fragmentu i wybór typu kodu w WPCode

Po zakończeniu po prostu skopiuj i wklej poniższy kod do pola „Podgląd kodu”:

function my_wp_nav_menu_args( $args = '' ) {
if( is_user_logged_in() ) {
// Logged in menu to display
$args['menu'] = 43;

} else {
// Non-logged-in menu to display
$args['menu'] = 35;
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );

Oto jak to może wyglądać w edytorze WPCode:

Fragment niestandardowego kodu HTML w podglądzie kodu WPCode

Upewnij się, że zastąpiłeś 43 i 35 identyfikatorami utworzonych wcześniej menu nawigacyjnych.

Identyfikator menu nawigacyjnego można znaleźć, wybierając je na stronie „Menu”. Zobaczysz numer identyfikatora menu w pasku adresu przeglądarki.

Znajdź identyfikator menu nawigacyjnego

Gdy upewnisz się, że wszystkie szczegóły są poprawne, kliknij niebieski przycisk „Zapisz fragment”.

I to wszystko!

Wskazówka bonusowa: Więcej przypadków użycia logiki warunkowej w menu WordPress

Jeśli chodzi o nawigację, logika warunkowa może zrobić więcej niż tylko wyświetlać różne menu dla zalogowanych użytkowników. Oto kilka szybkich przykładów:

  • Wyświetlaj różne menu w zależności od roli użytkownika: Możesz wyświetlać inne menu dla administratorów i współpracowników. Na przykład, pokaż opcje dostępne tylko dla administratorów, takie jak ustawienia witryny lub zarządzanie użytkownikami, podczas gdy współpracownikom lub innym rolom użytkowników oferuj ogólne linki nawigacyjne.
  • Wyświetlaj różne menu na różnych stronach: Chcesz unikalne menu na swojej stronie blogowej lub stronach produktów? Logika warunkowa pozwala tworzyć dla każdej z nich specyficzne menu, dzięki czemu nawigacja jest dopasowana do treści.
  • Ukryj nawigację na stronach docelowych: Strony docelowe działają najlepiej bez rozpraszaczy. Użyj logiki warunkowej, aby ukryć menu nawigacyjne i skupić uwagę na swoim wezwaniu do działania, takim jak formularz rejestracyjny lub oferta produktu.

Aby dowiedzieć się więcej, możesz zapoznać się z naszym przewodnikiem jak dodać logikę warunkową do menu w WordPress.

FAQ: Pokaż różne menu zalogowanym użytkownikom w WordPress

Nadal masz pytania dotyczące wyświetlania różnych menu dla użytkowników w WordPress? Oto kilka szybkich odpowiedzi, które Ci pomogą:

Czy mogę wyświetlać różne menu w zależności od ról użytkowników?

Absolutnie. Możesz wyświetlać unikalne menu dla Administratorów, Redaktorów lub dowolnej innej niestandardowej roli użytkownika na swojej stronie. Wtyczka Conditional Menus zapewnia prostą opcję konfiguracji, co jest idealne do dostosowania nawigacji dla członków Twojego zespołu.

Czy lepiej użyć wtyczki, czy dodać kod ręcznie?

Dla większości użytkowników zalecamy korzystanie z wtyczek takich jak Conditional Menus lub WPCode. Narzędzia te ułatwiają wyświetlanie różnych menu bez modyfikowania plików motywu.

WPCode jest szczególnie pomocny, jeśli preferujesz elastyczność korzystania z kodu. Pozwala bezpiecznie dodawać niestandardowe fragmenty PHP i zarządzać nimi z poziomu panelu WordPress – nie ma potrzeby bezpośredniej edycji pliku functions.php.

Ręczne kodowanie jest nadal dobrą opcją dla programistów, ale dla wszystkich innych wtyczka jest bezpieczniejszym i bardziej przyjaznym dla początkujących wyborem.

Czy mogę ukryć menu nawigacyjne na określonych stronach?

Tak, możesz użyć tej samej logiki warunkowej, aby ukryć menu nawigacyjne na określonych stronach. Jest to popularna strategia dla stron docelowych, ponieważ usuwa rozpraszacze i skupia odwiedzającego na Twoim wezwaniu do działania.

Dodatkowe zasoby: Role użytkowników WordPress i nawigacja po witrynie

Mamy nadzieję, że ten artykuł pomógł Ci dowiedzieć się, jak łatwo wyświetlać różne menu nawigacyjne zalogowanym użytkownikom w WordPress. Następnie możesz również zapoznać się z naszymi przewodnikami na temat:

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz w niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

101 CommentsLeave a Reply

  1. Odkryłem, że ten kod nie wykona się, chyba że wybiorę typ kodu php. Kiedy zmieniłem z HTML na php, było fantastycznie!

    • To ważny szczegół, o którym należy pamiętać podczas dodawania fragmentów kodu!

      Admin

  2. Clear and actionable guide!
    Thank you for this comprehensive guide on showing different menus to logged-in users in WordPress.
    I particularly appreciate the two methods you’ve outlined – using the Conditional Menus plugin and the manual code approach.
    You have certainly given me some ideas to enhance my own WordPress sites. Thanks again WPBeginner :)

  3. Doskonale!
    Dziękuję bardzo za prosty artykuł. i oszczędziłeś mi kilku godzin

  4. Działa świetnie! Mam problem, że mam dwa menu na górze: menu nagłówka i menu główne. Kiedy używam kodu i użytkownik jest zalogowany, oba menu przełączają się na menu dla zalogowanych. Jak mogę dostosować kod, aby menu nagłówka pozostało takie samo?

  5. Byłoby znacznie łatwiej, gdyby można było to zrobić dla konkretnego elementu menu, a nie dla całego menu. Co musiałby zrobić ktoś z 499 elementami menu?

    • Nie zalecalibyśmy tak wielu pozycji menu, ponieważ byłoby ich zdecydowanie za dużo, aby ktoś mógł się przez nie poruszać, co prawdopodobnie spowodowałoby problem z SEO, jeśli linki w menu nie dodadzą wartości dla Twoich odwiedzających.

      Admin

  6. to jest bardzo pomocne, ale czy jest sposób, aby wyświetlić nazwę użytkownika i awatar, które mogą działać jako kontener innych elementów menu profilu, jako menu rozwijane?

  7. Ścieżka, którą pokazałeś, jest dobra tylko do wyświetlania niestandardowych menu. Ale co, jeśli chcę pokazać moje treści konkretnemu zalogowanemu użytkownikowi na podstawie jego zainteresowań. Czyli szczegółowo, jak na różnych stronach z ofertami, gdy się logujemy i zapisujemy nasze zainteresowania, następnym razem widzimy oferty tylko na ten konkretny temat. Czy możemy to zrobić za pomocą wtyczek WordPress.

  8. Cześć, dzięki za świetną pracę. Mam pytanie dotyczące wielu ról użytkowników.

    Mam więc dwa główne menu, Menu 1 i Menu 2.

    Chciałbym, aby wszyscy użytkownicy (zalogowani lub nie) widzieli główne menu, chyba że mają rolę użytkownika „Alt”, w takim przypadku Menu 1 jest zastępowane przez Menu 2.

    Jak mógłbym to zrobić?

  9. @ERICLEE Możesz utworzyć motyw potomny, aby temu zapobiec. Właśnie dodałem ten kod i muszę zrobić to samo.

  10. czy jest możliwe dodanie menu w profilu subskrybenta oprócz strony głównej, aby te strony menu nie wyświetlały się na stronie głównej, tylko w każdym profilu subskrybenta. jeśli to możliwe, proszę o wskazówki i informację, jak użyć do tego wtyczki.

  11. czy jest możliwe dodanie menu w profilu subskrybenta na stronie wp, jeśli jest to możliwe, proszę, niech ktoś mnie poprowadzi, co mam zrobić i jak użyć jakiejkolwiek wtyczki do tej pracy.

  12. Jak można to samo osiągnąć na wielojęzycznej stronie członkowskiej? Na przykład, jak pokazać inne menu dla użytkowników zalogowanych po angielsku i inne menu dla użytkowników zalogowanych po niemiecku?

  13. Najpierw pomyślałem o wtyczce. Muszę przestać tak myśleć.
    Potem zobaczyłem Twój post i byłem przekonany.
    Dziękuję za opublikowanie tego, pomogłeś mi bardzo miło.

  14. Witam,

    To całkowicie działa!
    Ale zmienia też moje menu stopki.. czy jest sposób, żeby moje menu stopki pozostało takie samo?

  15. Mam więc 2 menu. Jedno dla publiczności, a drugie, które chciałbym, aby pracownicy widzieli po zalogowaniu. Menu pracownika zastąpiłoby główne menu tylko wtedy, gdy pracownik jest zalogowany.

    Oto co obecnie używam w moim pliku functions.php

    // Ustaw rolę jako klasę ciała

    function add_role_to_body( $classes ) {

    $user = wp_get_current_user();

    $user_roles = $user->roles;
    foreach( $user_roles as $role ) {
    $classes[] = ‘role-‘ . $role;
    }

    return $classes;

    }

    add_filter( ‘body_class’, ‘add_role_to_body’ );

    ***Oto co dodałem do CSS***

    /* Najpierw ukryj elementy menu dla użytkowników niebędących "pracownikami" */
    #top-menu li.menu-for-employee {
    display: none;
    }

    /* Pokaż pozycje menu dla użytkownika "pracownik" */
    .role-employee #top-menu li.menu-for-employee {
    display: initial;
    }

    Kiedy loguję się jako pracownik, oba menu są wyświetlane.

    Z góry dziękuję.

  16. u mnie nie działa. Po dodaniu tego kodu wyświetla się domyślne menu, nawet moje główne menu zniknęło.

  17. Cześć wszystkim,

    Fajny tutorial, ale zastanawiałem się, czy można użyć tego samego podejścia do zastąpienia responsywnego menu przy określonym rozmiarze ekranu?

    Mam dwa menu, ale wolałbym mieć tylko jedno responsywne menu przy 768 px, zastępując jedno menu innym.

    Dzięki

  18. Świetna robota z Twoimi przewodnikami. Buduję moją pierwszą stronę na WordPressie i uważam, że Twoja strona jest niezwykle pomocna w moim prowadzeniu, dziękuję.

    Naprawdę chciałem pokazać różne menu dla zalogowanych użytkowników (np. „edytuj profil”) i dla niezalogowanych użytkowników, co doprowadziło mnie tutaj. Udostępniony kod działa u mnie dobrze. Mam teraz dwa menu, które ładnie się wyświetlają. Jednak ostatnia część kodu, ciąg znaków add filter, moim zdaniem, trochę mnie myli. Teraz pod widżetem paska bocznego wyświetla się kolejne menu. Menu „zalogowany”. Używam motywu sydney i próbowałem bezskutecznie usunąć to niepotrzebne menu. Czy masz jakiś pomysł, jak mogę sprawić, żeby się nie wyświetlało?

  19. Works like a charm…
    Thanks for that.
    Btw i love theses short tutorials ;)

  20. Cześć, czy możesz mi pomóc? Mam jeszcze jeden problem, proszę? Muszę ukryć jedno menu dla wszystkich i pozwolić tylko sprzedawcom widzieć, co mam zrobić, proszę? jaki konkretny kod mam użyć, proszę?

  21. Kiedy modyfikujesz plik functions.php w ten sposób – czy nie zostanie on usunięty podczas aktualizacji następnej wersji WP?

  22. czy funkcja ustawia również menu drugorzędne? chcę ustawić tylko menu główne. jak to zrobić

  23. ta powyższa funkcja ustawia menu drugorzędne, a ja chcę ustawić tylko menu nagłówka?
    jak to zrobić

  24. Cześć,

    dzięki wielkie za to rozwiązanie, zastosowałem i działa idealnie i oszczędziło mi to instalację kolejnego pluginu.

  25. to jest kod do zastąpienia istniejącego menu menu dla zalogowanego użytkownika poprzez dodanie lokalizacji top-menu i z menu loggedin, bez potrzeby instrukcji else

    add_filter( ‘wp_nav_menu_args’, function ( $args )
    {
    if( is_user_logged_in() && $args[‘theme_location’] === ‘top-menu’ ) {
    $args[‘menu’] = ‘loggedin’;
    }
    return $args;
    });

  26. ———————————————————–
    function my_wp_nav_menu_args( $args = ” ) {

    if( is_user_logged_in() ) { $args['menu'] = 'logged-in'; } else { $args['menu'] = 'logged-out'; } return $args; } add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' ); ---------------------------

    Teraz, jak sprawić, by działało z

    —————————————————

    ———————————————————————————————————————-

    Proszę o poradę

  27. Jeśli chcę ukryć stronę przed niezalogowanym użytkownikiem z pojedynczego menu, co mam zrobić?

    • Możesz blokować strony, aby ukryć je przed niezalogowanymi użytkownikami. Istnieje kilka wtyczek, które bardzo ułatwiają to zadanie. Przychodzi na myśl Users Ultra.

  28. Wszystko działało idealnie.

    Jednak nadal mam problem z powtarzającym się menu głównym w sekcji nawigacji dodatkowej, którego nie mogę usunąć (nie mam skonfigurowanego menu dodatkowego).

    • Mam dokładnie ten sam problem. Zmiana pojawia się w lokalizacji menu drugorzędnego znikąd i ja również nie mam skonfigurowanego menu drugorzędnego. :/ Proszę o poradę, jak sobie z tym poradzić.

      Z góry dziękuję.

  29. UWAGA!!!

    Większość z nas używa motywów.
    Więc najpierw przejdź do pliku functions.php swojego motywu.
    Wyszukaj frazę "navigation" jako słowo kluczowe.

    W przypadku motywu Shopkeeper...

    ================================================================== register_nav_menus( array( 'top-bar-navigation' => __( 'Nawigacja Paska Górnego', 'shopkeeper' ), 'main-navigation' => __( 'Nawigacja Główna', 'shopkeeper' ), 'footer-navigation' => __( 'Nawigacja Stopki', 'shopkeeper' ), ===================================================================

    Tak to wygląda.. więc wybierz to, które jest podstawowe. W moim przypadku jest to „Nawigacja na pasku górnym”, dlatego użyłem „top-bar-navigation”.

    Użyłem następującego kodu i działał jak marzenie!!!

    To mój sposób na podziękowanie autorowi.

    Dzień dobry !!

  30. Oto co zadziałało u mnie z WP. Użyłem tego do stworzenia dedykowanego menu głównego dla zalogowanych użytkowników Buddypress. NIE wpłynie to na moje menu stopki ANI menu mediów społecznościowych dla żadnych odwiedzających, więc wszyscy zobaczą te same menu pomocnicze, niezależnie od tego, czy są zalogowani, czy nie. Opiera się to na wszystkich powyższych komentarzach (podziękowania dla Fransiska!).

    Dodałem następujący kod do pliku functions.php mojego motywu potomnego:

    // ZMIEŃ GŁÓWNE MENU =TYLKO= JEŚLI CZŁONEK JEST ZALOGOWANY

    function my_wp_nav_menu_args( $args = "" ) { if ($args['theme_location'] == 'primary') { if( is_user_logged_in()) { $args['menu'] = 'logged-in'; }else{ $args['menu'] = 'logged-out'; } } return $args; }

    add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );

  31. Cześć,
    Dodałem ten kod (prawdopodobnie błędnie) do mojego pliku functions.php w moim motywie w edytorze WordPress i teraz mam stały błąd serwera 500. Nawet po usunięciu kodu.

    Przed tym próbowałem stworzyć wtyczkę specyficzną dla witryny, ale to się nie udało. Czy możesz mi powiedzieć, czy fragment kodu wymaga otwierającego i zamykającego nawiasu?
    Jeśli tak, jak mam to zrobić?
    Mój hosting nie może mi teraz pomóc i proszą mnie o zapłacenie programiście za pomoc za 50 euro za godzinę. Proszę, pomóż mi. To pilne.
    Jestem nadal zalogowany do WordPressa, ale cokolwiek kliknę, otrzymuję błąd 500 z tym konkretnym komunikatem.
    PHP Parse error: syntax error, unexpected ‘}’ in line 1194.
    Stało się tak, ponieważ wkleiłem fragment kodu po całym tekście w pliku functions.php.
    Następnie usunąłem fragment kodu, aby sprawdzić, czy to rozwiąże problem, za pomocą edytora i FTP, a nadal otrzymuję błąd.
    Czekam na Twoją odpowiedź.
    Z poważaniem

    • Zależy to od tego, gdzie dodajesz kod. Jeśli przed nim znajduje się zamykający tag PHP, musisz dodać tag otwierający PHP, taki jak <?php

      Jeśli ten kod jest ostatnią rzeczą w pliku funkcji, nie musisz dodawać tagu zamykającego.

      Admin

  32. Jeśli masz wiele lokalizacji menu i chcesz zastosować różne menu dla każdej lokalizacji, możesz użyć poniższego kodu:

    function my_wp_nav_menu_args( $args = ” ) {

    // Lokalizacja menu głównego
    if( ‘primary-main’ == $args[‘theme_location’] ) {

    if( is_user_logged_in() ) { $args[‘menu’] = ‘Primary-Logged-In’; } else { $args[‘menu’] = ‘Primary-Logged-Out’; }

    return $args;
    }

    // Lokalizacja menu drugorzędnego
    if( ‘secondary-menu’ == $args[‘theme_location’] ) {

    if( is_user_logged_in() ) { $args[‘menu’] = ‘Secondary-Logged-In’; } else { $args[‘menu’] = ‘Secondary-Logged-Out’; }

    return $args;

    }

    }
    add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );

  33. To było prawie za łatwe!
    Dziękuję bardzo za prosty artykuł.

    W ten sposób nie muszę instalować żadnej wtyczki..

    • Cześć Gaurang,
      Jestem ciekawy, dlaczego uważasz, że używanie wtyczki jest lepsze niż pisanie kodu w pliku functions.php? Kiedyś powiedziano mi, abym uważał na liczbę wtyczek używanych na stronie WordPress, a powyższy kod wydaje się wystarczająco prosty; pomijając konieczność monitorowania każdej aktualizacji motywu...

      Dzięki,

  34. Świetnie, jak mogę tego użyć, aby pokazać menu zalogowanemu użytkownikowi, który ma określoną rolę?

  35. to jest świetne, wypróbowałem. działa. ale chciałbym też przekierować według roli
    czy to jest proste, czy znacznie trudniejsze

  36. Dzięki. Pracuję z funkcjami menu po raz pierwszy.

    Tworzenie wtyczki WTG Portal Manager, która pozwoli bardzo szybko zdefiniować portal. Każdy portal posiadający własne menu. Wtyczka wyjaśnia relację między portalem a menu oraz zapewnia inne unikalne opcje.

  37. dzięki za pomoc.. ale co jeśli chcę pokazać różnym użytkownikom różne posty na mojej stronie.. czy jest jakiś sposób, aby to zrobić za pomocą kodu??

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.