이 플러그인은 최근 3개의 주요 워드프레스 출시와 시험 되지 않았습니다. 워드프레스의 좀 더 최근 버전으로 이용할 때 더 이상 관리되지 않고 지원되지 않고 호환성 문제가 있을 수 있습니다.

Privilege Menu

설명

This plugin allows you to display menu items based on if a user is logged in, logged out or based on the role you have given the user.

This plugin allows fine-grained permissions to be added to each individual menu item to display or not display the item based on the
users logged in/logged out status or the role assigned to the user. This solves the problem of having to modify theme functions.php files to add in menu restrictions. The changes in functions.php is often overwritten by a theme update. This plugin removes that worry, as you can update the theme, independent of the plugin.

Please Note

This plugin uses a modified version of the Nav Menu Walker class. This means any other plugins that utilize their own custom Nav Menu Walker class, can and will conflict with this plugin. WordPress developers have support for proper custom hooks in this area of the Admin Menu slated for v4.8 release. Please see FAQ item “I cannot see the options for Privilege Menu under menu items in the Admin Panel?” for more information.

스크린샷

  • 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.

설치

  1. Upload the plugin folder to the /wp-content/plugins/ directory
  2. WordPress의 ‘플러그인’ 메뉴에서 플러그인을 활성화하세요.
  3. Go to Appearance > Menus
  4. Edit the menu items accordingly. First select whether you’d like to display the item to all logged in users, all logged out users or Both (Default).
  5. Save the changes to the menu. You should now see excluded menu items based on a users logged in/logged out state.

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;
}

후기

2020년 9월 29일
I have now tested countless plugins, none of them worked with my mega menu! And this part that has not been updated for a long time works perfectly! Thumbs up!
2017년 5월 1일
A great plugin – much appreciated.
모든 7 평가 읽기

기여자 & 개발자

“Privilege Menu”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 플러그인에 기여하였습니다.

기여자

“Privilege Menu”(이)가 12 개 언어로 번역되었습니다. 기여해 주셔서 번역자님께 감사드립니다.

자국어로 “Privilege Menu”(을)를 번역하세요.

개발에 관심이 있으십니까?

코드 탐색하기는, SVN 저장소를 확인하시거나, 개발 기록RSS로 구독하세요.

변경이력

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

  • Gold release