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.
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
- Wyświetlanie innego menu dla zalogowanych użytkowników w WordPress
- Wyświetlanie różnych menu WordPress w zależności od roli użytkownika
- Wyświetlanie różnych menu dla różnych stron w WordPress
- Ukrywanie menu nawigacji na stronach docelowych w WordPress
- Więcej możliwości dzięki menu nawigacji WordPress
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.
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”.
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”.
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ę”.
Następnie należy kliknąć odnośnik „+ Warunki”.
Spowoduje to wyświetlenie wyskakującego okienka, w którym zobaczysz kilka warunków do wyboru.
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.
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”.
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.
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.
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.
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.
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.
- Jak dodać własne elementy do określonych menu w motywach WordPress
- Jak dodać własne menu nawigacyjne w motywach WordPress
- Jak dodać responsywne menu w trybie pełnoekranowym w WordPress
- Jak utworzyć pionowe menu nawigacyjne w WordPress
- Jak dodać mega menu do twojej witryny WordPress
- Jak stylizować menu nawigacyjne 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.
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!
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
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
Laurentiu says
A small feature, but very missed when a programmer is asked to work in wordpress.
WPBeginner Support says
Glad you found this recommendation helpful
Administrator
Richard Spatts says
Thanks for this, it really helped
WPBeginner Support says
You’re welcome, glad our guide helped
Administrator
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.
WPBeginner Support says
You’re welcome, glad our recommendation is helpful
Administrator
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?
WPBeginner Support says
You could set it to show if the user is the role of Author
Administrator
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.
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.
Kiva says
Could I set up this plugin so that I can set up different menu options for each different category?
Sphelele says
There is no conditional logic feature on my menu.
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.
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!
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
Mo says
Yep, definitely broken.
Works great for the built in conditions, but when coding custom conditions it works once and then stops working.
jban says
YES!!! After 90 minutes of trying to figure this out, this article made it work for me. THANK YOU!!!
Jesus Flores says
Works great!!! Thank you
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.
WPBeginner Support says
Seems like the plugin is not compatible with your theme’s mega menu functionality. Please contact your theme’s support.
Administrator
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.
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…
Shafiq says
Seems to work ok under WP 4.3.
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
Mike J says
I found this plugin does not work with some themes
WPBeginner Support says
Please report the themes to plugin using the support tab on the plugin page. May be they can help you with this.
Administrator
Dieter says
Seems to be broken under WP 4.2.2.
WPBeginner Support says
What seems to be the problem? Working fine at our end.
Administrator
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?