Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Puchar WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Jak dodać logikę warunkową do menu w WordPress

Uwaga redakcyjna: Otrzymujemy prowizję z linków partnerskich na WPBeginner. Prowizje nie mają wpływu na opinie i oceny naszych redaktorów. Dowiedz się więcej o Proces redakcyjny.

Czy chcesz wyświetlać różne elementy menu nawigacyjnego dla różnych stron w WordPress? Lub wyświetlać inne menu dla logujących się użytkowników?

WordPress umożliwia wyświetlanie menu nawigacyjnego w określonym położeniu w twoim motywie, ale domyślnie zawsze będzie wyświetlać to samo menu.

W tym artykule pokażemy, jak dodać logikę warunkową do menu w WordPress.

How to Add Conditional Logic to Menus in WordPress

Po co dodawać logikę warunkową do menu w WordPress?

Menu nawigacyjne nadają Twojej witrynie internetowej WordPress strukturę i pomagają odwiedzającym znaleźć to, czego szukają. Domyślnie twoja witryna internetowa WordPress wyświetla to samo menu nawigacyjne wszystkim użytkownikom oraz na wszystkich wpisach i stronach.

Może się jednak zdarzyć, że będziesz chciał wyświetlać różne menu różnym użytkownikom lub na różnych stronach twojej witryny internetowej.

Witryny internetowe, takie jak sklep internetowy, społeczność witryny członkowskiej WordPress lub platforma edukacyjna online, mogą korzystać ze spersonalizowanych menu nawigacyjnych.

Korzystając z logiki warunkowej, można dodać dodatkowe pozycje menu dla logujących się użytkowników, aby mogli zarządzać swoimi kontami, odnawiać subskrypcje lub zobaczyć zakupione kursy online. Można o tym myśleć jak o kontroli dostępu do menu WordPress.

Mając to na uwadze, przyjrzyjmy się, jak dodać logikę warunkową do menu w WordPress. Oto tematy, które omówimy w tym poradniku:

Tworzenie nowych menu nawigacyjnych w WordPress

Pierwszym krokiem jest utworzenie dodatkowych menu nawigacyjnych, które mają być wyświetlane w WordPress. Następnie możesz użyć logiki warunkowej, aby zdecydować, kiedy każde menu będzie wyświetlane.

Wystarczy przejść do strony Wygląd ” Menu w kokpicie WordPress. Jeśli masz już menu nawigacyjne, którego używasz w swojej witrynie internetowej dla wszystkich użytkowników, może to być menu domyślne.

Main menu

Następnie należy kliknąć odnośnik „Utwórz nowe menu”, aby utworzyć nowe menu. Na przykład można utworzyć jedno menu, które będzie wyświetlane logującym się użytkownikom, a drugie, które będzie wyświetlane na określonej stronie WordPressa lub w określonej kategorii.

Po lewej stronie ekranu znajduje się lista stron twojej witryny internetowej. Po prostu zaznacz pole obok każdej strony, którą chcesz dodać do twojego menu i kliknij przycisk „Dodaj do menu”.

Logged in menu

Można również przeciągać i upuszczać elementy menu po prawej stronie ekranu, aby zmienić ich kolejność.

W dalszej części strony możesz wybrać położenie, w którym będzie wyświetlane twoje menu. Nie musisz jednak teraz przypisywać położenia do tego menu. Zrobimy to w następnym kroku.

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

Aby uzyskać więcej informacji na temat tworzenia menu, możesz zapoznać się z naszym przewodnikiem dla początkujących, jak dodać menu nawigacyjne w WordPress.

Wyświetlanie innego menu zalogowanym użytkownikom WordPressa

Często przydatne jest wyświetlanie użytkownikom różnych menu nawigacyjnych w zależności od tego, czy logowali się na twojej witrynie, czy nie.

Na przykład, możesz umieścić odnośniki do logowania i rejestracji dla wylogowanych użytkowników i dodać odnośnik do wylogowania do twojego menu dla zalogowanych użytkowników.

Lub jeśli prowadzisz sklep WooCommerce, możesz dołączyć elementy dla swoich klientów, które są ukryte przed opinią publiczną.

Najpierw należy zainstalować i włączyć wtyczkę Conditional Menus. Aby uzyskać więcej informacji, zobacz nasz przewodnik krok po kroku, jak zainstalować wtyczkę WordPress.

Po włączaniu należy przejść na stronę Wygląd ” Menu i przełączyć się na kartę „Zarządzaj lokalizacjami”.

Manage menu locations

Z tego miejsca zobaczysz listę dostępnych położeń menu i menu, które są aktualnie wyświetlane. Będą się one różnić w zależności od używanego motywu WordPress.

Na przykład na naszej witrynie internetowej w wersji demonstracyjnej widać, że nasze położenie menu głównego pokazuje menu nawigacyjne zatytułowane „Menu główne”.

Możemy nakazać wtyczce wyświetlanie innego menu po spełnieniu określonego warunku, klikając odnośnik „+ Menu warunkowe” i wybierając inne menu z rozwijanego menu. W tym poradniku wybierzemy „Menu logowania się”.

Select logged in menu

Następnie należy kliknąć odnośnik „+ Warunki”.

Spowoduje to wyświetlenie wyskakującego okienka, w którym zobaczysz kilka warunków do wyboru.

Select logged in user aa the condition

Wystarczy zaznaczyć pole obok opcji „Użytkownik loguje się”, a następnie kliknąć przycisk „Zapisz”.

Możesz teraz przejść na swoją witrynę internetową, aby zobaczyć menu zalogowanego użytkownika w działaniu. Możesz logować się z twojej witryny internetowej, aby zobaczyć menu nawigacyjne, które jest wyświetlane wszystkim innym użytkownikom.

Different menu for logged in users

Aby uzyskać bardziej szczegółowe instrukcje i dowiedzieć się, jak to zrobić za pomocą kodu, zapoznaj się z naszym przewodnikiem na temat wyświetlania różnych menu zalogowanym użytkownikom w WordPress.

Wyświetlanie różnych menu WordPress w zależności od roli użytkownika

Po zalogowaniu się użytkownika można również wyświetlić różne menu nawigacyjne w zależności od przypisanej mu roli użytkownika.

Można na przykład dodać dodatkowe pozycje menu dla administratora i bardziej ograniczone pozycje dla współtwórcy. Lub na witrynie członkowskiej można przyznać różne poziomy dostępu do różnych poziomów członkostwa.

Podobnie jak w poprzedniej sekcji, należy zainstalować i włączyć wtyczkę Menu warunkowe, a następnie przejść na stronę Wygląd ” Menu i przełączyć się na kartę „Zarządzaj lokalizacjami”.

Select the Conditional Menu

Należy dodać odpowiednie menu warunkowe dla wybranej roli użytkownika. Na potrzeby tego poradnika wybraliśmy menu „Nav Menu Administrator”.

Następnie należy kliknąć odnośnik „+ Warunki”, aby móc wybrać rolę użytkownika.

Select the Roles That Should See the Menu

Będziesz musiał kliknąć kartę „Role użytkowników”, aby zobaczyć pola wyboru dla każdej roli użytkownika w twojej witrynie internetowej. Wystarczy kliknąć role użytkowników, które będą widoczne w tym menu, a następnie kliknąć przycisk „Zapisz”.

Wyświetlanie różnych menu dla różnych stron w WordPressie

Możesz wyświetlać różne menu dla różnych stron w WordPress. Na przykład możesz wyświetlić dodatkowe elementy menu na swojej stronie polityki prywatności, takie jak odnośnik do powiadomienia o plikach ciasteczka.

Aby to zrobić, należy zainstalować i włączyć wtyczkę Conditional Menus, jak pokazano powyżej, a następnie wybrać odpowiednie menu nawigacyjne i kliknąć odnośnik „+ Conditions”.

Tym razem powinieneś kliknąć kartę „Strony”. Zobaczysz listę wszystkich stron w twojej witrynie internetowej.

Select the Pages Where the Menu Should Be Displayed

Należy umieścić znacznik wyboru obok każdej strony, na której ma być wyświetlane menu nawigacyjne, a następnie kliknąć przycisk „Zapisz”.

Ukrywanie menu nawigacji na stronach docelowych w WordPress

W twojej witrynie internetowej mogą znajdować się strony, na których w ogóle nie chcesz wyświetlać menu nawigacyjnego, takie jak strony docelowe.

Strona docelowa ma na celu zwiększenie sprzedaży lub generowanie potencjalnych klientów dla firmy. Na tych stronach należy zminimalizować rozpraszanie uwagi i zapewnić użytkownikom wszystkie informacje potrzebne do podjęcia określonego działania.

W naszym przewodniku na temat tego, jak zwiększyć konwersje na twojej stronie docelowej o 300%, sugerujemy, że możesz zminimalizować rozpraszanie uwagi, usuwając menu nawigacyjne i inne odnośniki ze strony.

Można to zrobić za pomocą wtyczki Conditional Menus. Wybierając menu warunkowe, tym razem należy wybrać opcję „Wyłącz menu” z menu rozwijanego.

Select Disable Menu From the Drop Down

Następnie należy kliknąć odnośnik „+ Warunki”, aby wybrać, kiedy menu ma być wyświetlane.

Powinieneś kliknąć kartę „Strony” i umieścić znaczniki wyboru obok twoich stron docelowych.

Select the Pages Where the Navigation Menu Should Be Hidden

Nie zapomnij kliknąć przycisku „Zapisz”, aby zapisać twoje ustawienia.

Więcej możliwości dzięki menu nawigacji WordPress

Menu nawigacyjne to potężne narzędzie do projektowania stron internetowych. Pozwalają one wskazać importerom najważniejsze sekcje twojej witryny internetowej.

Teraz, gdy wyświetlasz różne menu nawigacyjne na różnych stronach i dla różnych klientów, możesz zastanawiać się, jak możesz je dalej dostosować.

Wypróbuj te przydatne poradniki, aby rozszerzyć funkcjonalność menu nawigacyjnego na twojej witrynie internetowej WordPress.

Mamy nadzieję, że ten poradnik pomógł ci nauczyć się dodawać logikę warunkową do menu w WordPress. Możesz również dowiedzieć się, jak tworzyć zautomatyzowane przepływy pracy lub zapoznać się z naszą listą najlepszych wtyczek Social Proof dla WordPress i WooCommerce.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

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

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Najlepszy zestaw narzędzi WordPress

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

Reader Interactions

36 komentarzyZostaw odpowiedź

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Bet Hannon says

    Be VERY careful with making menus different across your site. It’s not a problem to show different menus to logged in/out users, but to meet WCAG 2.0+ accessibility standards, main menus should be consistent page to page.

    • WPBeginner Support says

      Thank you for sharing that for those attempting to have those standards for their site. :)

      Administrator

  3. Kevin says

    I don’t see the „Enable conditional logic” under Appearance -> Menu. I’m using WordPress 5.7 as of March 16, 2021.

    • WPBeginner Support says

      The wording may have changed since this article but there should still be a checkbox for changing the visibility.

      Administrator

  4. Richard S. says

    BIG Thank you for this article, it’s awesome.
    Your snippet of code was perfect for a project I was working on, as was this plugin which I’m now using.
    Even in 2019 this is a handy page, it’s working well on WordPress 5.2.3 (Astra Pro theme) so still very applicable.

  5. Vasim Shaikh says

    I would like to ask I have added role for user Author and subscriber both then its should be display to author not subscriber. how to handle this?

  6. Rudolf says

    Really simple and easy to use plugin. Fantastic! It did not only save me a lot of time but also an organizational advantage because instead of using widget logic with different menu widgets, I create now one 1 menu with conditions per item.

  7. Jonathan P says

    Thank you,

    I have only used this plugin for conditions for users that are logged in or not logged in, but it works great, it really has saved me hours of messing around with code.

  8. David says

    Thank you guys for sharing this. However it will display a PHP Notice on conditioned menu items and the custom condition won’t be displayed among condition options, if you don’t specify the id parameter.

  9. Paul says

    Hi, I added conditions (if a string matches the server name, a menu is hidden). Great! But I would like to add even more custom conditions. Could you show an example of the code you would use to add more than on name/condition pair the custom option?

    name = „If the site is not www.”
    condition = www is not in SERVER_NAME
    name = „Paul site.”
    condition = „paul is in SERVER_NAME”

    etc.

    Thanks!

  10. Isuru says

    This Conflicts the WP User Manager Pro, and then user manager Pro plugin functions not working due to the confliction.
    as an ex: Show password tick in user registration page doesn’t work, as well as login page also not functioning well.
    can you please fix this

  11. Mo says

    Yep, definitely broken.

    Works great for the built in conditions, but when coding custom conditions it works once and then stops working.

  12. Mohi says

    Hello
    I installed this plugin, but I am getting an warning as follows :

    Warning: Missing argument 2 for custom_nav_edit_walker() in /var/www/equest/wp-content/themes/wp-questrian/framework/megamenu/mega-menu.php on line 42

    How to solve this warning ? Please guide me.

  13. JMD says

    I have not used the If Menu plugn, but I tried the Nav Menu Roles plugin

    It works but then conflicts with the Mega menu functionality of my theme.

    I am hesitant to try the If Menu plugin mainly because it has not been updated in so long. It will be a matter of time before I have to remove it for sure.

  14. Peter says

    Could not get this plugin to work. Not showing up i menu-items. Using: WP 4.3 / Nimwa theme.

    Any suggestions on similar working plugin? Just want to hide some menu items while working on them…

  15. Chuks Eke says

    Hi,
    Could this be achieved with this plugin,
    I want to have different menu for different pages or post. for example,

    Home | About Us | Service | Contact

    About Us [ History | Team | Career ]
    Services [ Web Development | Window Application | Corporate ID ]

    Is it possible with this plugin to show sub menu on side menu for About Us

      • Dieter says

        I stopped installation after reading WP Org PlugIn Page, there is the comment „1 person says it is broken” and in the support section is an open report which is not solved.
        If I read something like this I don’t even try to install such plug in.

      • Jagabandhu says

        The plugin is not working. It’s not showing „enable conditional logic” and the plugin author is not responding from last 7 months.

        Tried with disabling other plugins. But no result.

        Is there any other plugin to do so!?
        I need it.

        • WPBeginner Support says

          We just tested the plugin and it is working fine at our demo site. Can you test it by switching to a default theme with no other plugins activated?

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszymi polityka komentarzy, a Twój adres e-mail NIE zostanie opublikowany. NIE używaj słów kluczowych w polu nazwy. Przeprowadźmy osobistą i konstruktywną rozmowę.