Used to provide Menu display to users based on their Privilege Level (Currently only either logged in/logged out)
Screenshots
How to add an menu item as only viewable to logged IN users.
How to add an menu item as only viewable to logged OUT users.
This is the menu a logged IN user would see. These users don't see "Login" due to the fact that it is denied to logged IN users in the Admin Panel Nav Menus section.
This is the menu a logged OUT user would see. These users don't see "Logout", "My Account" or "Control Panel" due to the fact that they are denied to logged OUT users in the Admin Panel Nav Menus section.
This is a view of a menu item you could select only to be viewable for administrators.
FAQ
Can I localize this plugin for my own language?
Yes you can. Included now in this plugin is a folder call “lang”. Within this folder is a file called “privilege-menu.pot”. This file can be used to create the localized translations for your own language using poedit.
If you contact me after you have done this through my website at: https://www.fuzzguard.com.au/contact/ I can include this translation file in the next plugin release. You will be credited for your work of course.
I cannot see the options for Privilege Menu under menu items in the Admin Panel?
This usually occurs due to a plugin conflict. The Admin Menu Walker can only have one custom walker so any other plugin that uses a custom Admin Menu Walker will cause conflicts with Privilege Menu plugin.
WordPress does not yet have sufficient hooks in this area of the admin panel. Due to this plugins are forced to load a modified custom Admin Menu Walker. The custom Admin Menu Walker is limited to one so only one Admin Panel menu modification plugin can be active at one time.
Although this feature has been requested since 3.6 it still hasn’t been added to the WordPress Core.
There’s a possibility that support for “Nav Menu UI” Hooks will be added in WordPress 4.8 as it has now been picked up by the developers and they are actively working on implementing this:
https://core.trac.wordpress.org/ticket/18584
As a developer what hooks are there for this plugin?
There are two hooks that have been provided for this plugin. The first hook is: ‘priv_menu_roles’. It can be used to allow other plugins to add roles to be checked by ‘Privilege Menu’:
add_filter( ‘priv_menu_roles’, ‘roles_to_add’, 10, 1 );
function roles_to_add($roles /* WP_RoleNames Array */) {
$roles['new_role'] = 'New Role';
return $roles;
}
The second hook is: ‘priv_menu_visibility’. It can be used for other plugins to filter the result for the front-end display of the menu items generated by ‘Privilege Menu’:
add_filter( ‘priv_menu_visibility’, ‘filter_FE_display’, 10, 2);
function filter_FE_display($visibility /* Boolean */, $item /* WP_POST Object*/) {
if ($item->ID == '470' || $item->title == 'Logout') {
$visibility = true;
}
return $visibility;
}
ChangeLog
1.8.4
- Added hook support for the hooks ‘priv_menu_roles’ and ‘priv_menu_visibility’. See FAQ on usage.
1.8.3
- Added extra line break between ‘User Restrictions’ and options to improve readability
1.8.2
- Moved ‘_priv_menu_role’ option string into ‘public $privMenuOption’ to allow access from uninstall.php
- Changed all references to ‘_priv_menu_role’ string to access $this->privMenuOption (For Conformity)
- Fixed styling for text in widget admin panel
- Fixed styling for text in widget admin panel in responsive mode.
1.8.1
- Tested with version 4.7 of WordPress
1.8
- Updated customWalker.php to match new navWalker code added to WordPress core
- Tested with version 4.6 of WordPress
- Upgraded TGM Plugin Activation class file version to 2.6.1
1.7.4
- Upgraded TGM Plugin Activation class file version to 2.6.0
1.7.3
- Added in backwards compatibility with old User Roles versions
1.7.2
- Removed erroneous recommended plugins. Should only recommend relevant plugins to “Privilege Menu”, such as “Privilege Widget”
1.7.1
- Upgraded TGM Plugin Activation class file version to 2.5.2
1.7
- Tested with version 4.5 of WordPress
- Added TGM Plugin Activation code to recommend FuzzGuardÂ’s other useful plugins
1.6.1
- Added uninstall file to remove all options from DB if plugin is removed.
1.6
- Added in ability to select menu display via User Role.
- Removed ‘Admin Users” option – Replaced by “Logged In”, “Administrators” checkbox
- Selecting logged in users now allows you to choose the Users Role
1.5
- Added Serbian Translation – Translated by: Ogi Djuraskovic (firstsiteguide.com)
1.4
- Added “lang” folder for localization files
- Added French, German, Spanish and Chinese translations
- Added .pot file for localization by others. Located in “lang” folder
1.3
- Added WordPress admin class protection coding to customWalker.php
- Changed “Display Mode” to “User Restriction”
- Added in bottom border to “User Restriction” area in each menu item to make the menu area easier to read
1.2
- Removed superfluous “2” from end of plugin name
1.1
- Changed “Both” to “All Users” in customWalker.php
- Added in ability to show menu only to administrators
1.0