如何将插件的子菜单页面限制为管理员/订阅者?

时间:2011-09-30 作者:a_fan

我正在开发一个有6个子菜单页的插件。我希望其中5个只能由管理员访问,1个只能由订阅者访问。

两个用户角色在各自的页面上都有不同的可用功能。

有可能做到吗?如果是,如何进行?如果没有,有哪些替代方案?

谢谢你的时间!

4 个回复
最合适的回答,由SO网友:Rutwick Gangurde 整理而成

是否正确:
前5页-仅限管理员,无订阅者
第6页-仅限订阅者,无管理员?

如果这是正确的,那么您只需在创建前5个时将功能类型添加为“administrator”,并在创建第6个时将功能类型添加为“subscriber”。这应该行得通。或者为admin添加一个新功能,在添加前5个时使用它,为subscriber添加一个新功能,在添加第6个时使用它。

SO网友:Mamaduka

您应该使用capabilities 在里面add_menu_pageadd_submenu_page, 对于add_menu_page 使用者read 功能,仅供管理员使用子页manage_options cap和for Subscribers子页您可以使用read 如果不想让管理员看到该页面,也可以添加新的cap(以便于管理使用Members Plugin )

SO网友:lucasvm1980

正确的方法是使用功能,例如,我添加了一个名为“my\\u plugin”的插件并签入客户端角色,这样客户端将看到带有my\\u plugin功能的菜单。。。例如:

add_menu_page(\'Manage Clients\', \'Manage Clients\', \'my_plugin\', \'manage-clients\', \'clients_display_page\');
因此,您可以转到用户->角色,编辑您的角色并选中my\\u插件选项,这些用户将看到菜单。

这是正确的方法,并且易于使用和更新。

SO网友:Kirill Fuchs

我可能会迟到,但我要说的是:

function your_function_for_menus() { 

add_submenu_page(\'slug_of_your_parent_menu\', \'my title\', \'your menu title\',\'administrator\', \'submenu_slug\', \'function_to_display_this_submenu\');

add_submenu_page(\'slug_of_your_parent_menu\', \'my title\', \'your menu title\',\'administrator\', \'submenu_slug\', \'function_to_display_this_submenu\');

add_submenu_page(\'slug_of_your_parent_menu\', \'my title\', \'your menu title\',\'administrator\', \'submenu_slug\', \'function_to_display_this_submenu\');

add_submenu_page(\'slug_of_your_parent_menu\', \'my title\', \'your menu title\',\'administrator\', \'submenu_slug\', \'function_to_display_this_submenu\');

add_submenu_page(\'slug_of_your_parent_menu\', \'my title\', \'your menu title\',\'administrator\', \'submenu_slug\', \'function_to_display_this_submenu\');

add_submenu_page(\'slug_of_your_parent_menu\', \'my title\', \'your menu title\',\'subscriber\', \'submenu_slug\', \'function_to_display_this_submenu\');
}
这将创建6个子菜单。注意,在第6个菜单中,我们使用了“subscriber”而不是“administrator”,这将显示仅针对订阅者的菜单,而不是针对管理员的菜单。

然后使用:

add_action(\'admin_menu\', \'your_function_for_menus\');
这将运行函数来创建子菜单。

参考资料:由于反垃圾邮件,我无法发布链接:(。

so googlewordpress功能WordPress add\\u actionwordpress add\\u submenu\\u页面

他们应该解释一切。

结束

相关推荐

Order Admin sub-menu items?

我正在使用向CPT管理菜单添加项目add_submenu_page 这很好,但它们被添加到CPT选项后的子菜单底部。我希望能够将它们放在最上面,但我想这个问题也可以应用于订购所有基于管理员的子菜单项。我所尝试的(不起作用,我尝试了几种变体),function custom_menu_order($menu_ord) { if (!$menu_ord) return true; return array( \'edi