Do you want to offer separate menus to logged-in WordPress users?
WordPress by default allows you to display the same navigation menu at a given area in your theme. But what if you wanted logged-in users on your website to see a different menu?
In this post, we’ll teach you how to simply display different menus to logged-in WordPress users.
Why Show Different Menus to Logged in Users in WordPress?
Changing various aspects of your WordPress website based on visitors and their activities helps your site feel more customized for each user.
This own material aids in the enhancement of the user experience on your WordPress website.
Now, if you operate a website where customers do not need to register or log in, you may most likely utilize the same navigation menus throughout your website.
Other websites, on the other hand, may gain immensely from displaying personalized menus to logged-in users.
Websites such as an online store, a WordPress membership site community, or an online learning platform, for example, can all benefit from customized navigation menus.
A custom navigation menu for logged-in users makes it easier for them to discover the stuff they signed up for.
A user on an online store, for example, may manage their account, and a member of a paid community can quickly renew their subscription or access the online courses they purchased.
WordPress allows you to construct as many navigation menus as you like by default. However, with your WordPress theme, you can only select to display one menu at a time.
That being stated, let’s look at how to quickly adjust this behavior in WordPress and offer different menus to logged-in visitors.
- Show Different Menus to Logged in Users in WordPress using a Plugin
- Manually Select Logged in Menu in WordPress Using Code
Creating Menus for Logged in and Non Logged in Users in WordPress
Whatever approach you choose, you must first develop both the logged-in and logged-out navigation menus that you want to present to your users.
Simply navigate to the WordPress dashboard Appearance » Menus page. If you already have a navigation menu for all users on your website, this might be your default menu.
Then, to build a new custom menu for your logged-in users, select the ‘make a new Menu option.
You can add menu items here that you wish registered or logged-in users to see. For example, you might include a logout link on your menu.
A list of your website pages may be seen on the left side of the screen. Simply tick the box next to any page you wish to include in your menu and press the ‘Add to Menu button.
You may also rearrange the menu items on the right side of the screen by dragging and dropping them.
You may select a place for your menu further down the page. However, you do not need to designate a location for this menu right now. That will come later in the essay.
Don’t forget to save your changes by clicking the ‘Save Menu’ button.
Check out our beginner’s guide to WordPress navigation menus for additional information on designing menus.
Method 1. Show Different Menus to Logged in Users in WordPress Using a Plugin
This technique is simpler and should be used by all WordPress users.
You must first install and activate the Conditional Menus plugin. For additional information, visit our step-by-step guide to installing a WordPress plugin.
After activation, go to the Appearance » Menus page and select the ‘Manage Locations’ tab.
You’ll see a list of available menu locations defined in your WordPress theme, as well as the menus that are presently shown, from here.
For example, it shows that our Primary Menu location has a navigation menu called ‘Main Menu.’
Now we must instruct the plugin to display an alternative menu when a certain condition is met.
To do so, click the ‘+ Conditional Menu’ option, and then from the drop-down menu, pick the navigation menu you wish to show to logged-in users.
After that, click the ‘+ Conditions’ link.
This will provide a popup with a number of conditions to pick from.
Simply check the box next to ‘User logged in,’ then click the Save button.
You may now see the logged-in user menu in action by visiting your website. You may also log out of your WordPress admin account to see the navigation menu that all other users will see.
Method 2. Manually Select Logged in Menu in WordPress Using Code
This solution necessitates the addition of code to your WordPress website. If you’ve never done this before, see our instructions on how to copy and paste code snippets in WordPress.
To begin, add the following code to the functions.php file of your theme or a site-specific plugin.
function my_wp_nav_menu_args( $args=”” )
if( is_user_logged_in() )
// Logged in menu to screen
$args[‘menu’] = 43
// Non-logged-in menu to exhibit
$args[‘menu’] = 35
increase_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ )
Replace 43 and 35 with the IDs for the navigation menus you generated before.
The ID of a navigation menu may be found by choosing it on the Menus page. The menu ID number will appear in the address bar of your browser.
We hope this post was useful in teaching you how to simply display alternative navigation menus to logged-in users in WordPress.