- 1 Install the Navigation Menu Filtering Add-on
- 2 Navigation Menu Filtering Settings
- 3 Filtering Menu Items based on Subscription Plan
- 4 Filtering Menu Items for Logged Out Users
- 5 Navigation Menu Filtering Errors
Navigation Menu Filtering Add-on lets you decide which Pages or Posts are visible in the Menu. You can allow only Members that subscribed to a Subscription Plan to see certain Menu Items or only Logged Out Users, but you can also make the Menu Items visible to everyone.
Navigation Menu Filtering is a Basic add-on, available with a Paid Member Subscriptions Hobbyist or Pro license only.
After purchasing the add-on, the .zip file will be available for download under your account page by clicking the “Add-ons Download” button.
Once downloaded, you can install the add-on as a normal WordPress plugin, by uploading the .zip file in your WordPress Admin -> Plugins -> Add New -> Upload Plugin.
Alternatively, you can install the Navigation Menu Filtering add-on by extracting the folder found inside the archive and uploading the entire folder via FTP to your /wp-content/plugins folder found inside your WordPress install.
After you install and activate the Navigation Menu Filtering add-on go to Dashboard -> Appearance -> Menus. If you don’t have a Menu you will need to create one by giving it a name and by clicking on the “Create Menu” button.
After we created our Menu we can make it our Primary Menu and also we can add Menu Items from the left side, by checking them and by clicking on the “Add to Menu” button.
To finish and to save our Menu we need to click on “Save Menu”. Now all the Menu Items are displayed inside our Menu and we can use the Navigation Menu Filtering settings to filter them.
You will notice that each Menu Item has appeared in the form of a tab. To view the Navigation Menu Filtering Options you will need to click on the Menu Item to expand it.
The Navigation Menu Filtering settings are:
- Display To – Logged in Users, Logged Out Users and Everyone
- Limit Logged in users to Subscriptions – This option will be available only if we select “Logged in Users” inside the “Display To” option. We can select the Subscription Plans created in Paid Member Subscriptions -> Subscriptions Plans
Selecting the “Everyone” option inside a Menu Item will trigger the default behavior which is to display it regardless of the user’s login status.
Filtering Menu Items based on Subscription Plan
In the example below I’m going to set the “Premium Content” Menu Item to be displayed in the Menu only for Members that subscribed to the Gold or to the Silver Subscription Plan. To do this I selected the radio button “Logged in Users” and after that I ticked the Gold and Silver Subscription Plan checkboxes.
Logged Out User / Logged In Non-Member User
This is how the Menu looks like for the Logged Out User and for the Logged in User that didn’t subscribed to the Gold or to the Silver Subscription Plans.
The “Premium Content” Menu Item is not displayed inside the Menu.
Logged In Subscribed Member
This is how the Menu looks like for the Logged In Member that subscribed to the Gold or to the Silver Subscription Plans.
The “Premium Content” Menu Item is displayed inside the Menu.
Filtering Menu Items for Logged Out Users
In the example below I’m going to set the “Register” Menu Item to be displayed in the Menu only for Logged Out Users. To do this I selected the radio button “Logged Out Users”. Notice how the Subscription Plans are grayed out, meaning that these options are not relevant in this context.
Logged Out User
This is how the Menu looks like for the Logged Out User. The “Register” Menu Item is displayed inside the Menu.
Logged In User
This is how the Menu looks like for the Logged In User. The “Register” Menu Item is not displayed inside the Menu.
Options are not displayed inside the Menu Item
If you don’t see the Navigation Menu Filtering options when expanding a Menu Item it means there is an issue generated by your theme or by another plugin. First you will need to deactivate all your plugins and to use a Default WordPress Theme to see if there is a plugin/theme conflict.
If this is caused by your theme it means that the theme is also trying to alter the same code that creates the Menu section.
WordPress does not have sufficient hooks in this area of the admin and, until they do, plugins are forced to replace everything via a Custom Admin Menu Walker, of which there can be only one.
Ask the theme developer to add the code below inside his theme and Navigation Menu Filtering add-on will become compatible with it.
1 2 3 4 5
<?php // This is the added section do_action( 'wp_nav_menu_item_custom_fields', $item_id, $item, $depth, $args ); // end added section ?>