用户角色:如何隐藏插件在WP-Admin中显示?

时间:2013-06-23 作者:Matt

我想能够隐藏一些插件,从显示在可湿性粉剂管理的用户谁没有一个特定的用户角色,因为我不希望这些用户能够编辑设置。

我必须在每个插件的基础上这样做吗?

1 个回复
SO网友:Brooke.

正如s\\u ha\\u dum在评论中所说,你可以做点什么remove_menu_page 然而,问题是,如果用户知道url,它实际上不会阻止用户编辑插件。

抄本:

删除菜单并不意味着需要根据需要过滤用户的权限。

当我遇到这个问题时,我倾向于使用JustinTadlock的Members Plugin 这将允许我根据每个角色分配功能。它还允许我设置自定义角色。

我的典型流程是设置一个新角色“所有者”或“设计者”,这给了他们足够的权限来做他们需要做的事情。

Do I have to do this on a per-plugin basis?

也许,这取决于你使用的插件。每个作者倾向于以不同的方式处理这一问题。插件链接到的一些常见功能包括manage_options, update_coremanage_themes. 换句话说,如果禁用manage_options 您一次禁用了几个插件。也有一些情况(如重力形式)插件作者创建自己的功能,这通常是最好的情况。

因此,总结使用remove_menu_pages 当用户是否找到页面无关紧要时,这是一个快速而简单的解决方案。

当需要锁定用户时,使用Members插件(或类似插件)编辑功能/创建新角色。

Bonus 您可以在函数中使用类似的方法手动向一个用户授予功能。php:

 $user = new WP_User( $user_id );
 $user->add_cap( \'manage_options\');

结束