您不应该使用角色来处理菜单页的权限。相反,请使用功能,然后将这些功能分配给应该具有访问权限的角色。
例如,而不是创建customrole
角色,使用自定义功能,如manage_custom_plugin
:
add_menu_page(
\'Custom-Plugin\',
\'Custom-Plugin\',
\'manage_custom_plugin\',
\'custom-plugin\',
\'init_custom_menu_page\'
);
现在,使用Members插件可以输入
manage_custom_plugin
进入“自定义功能”框,并将其添加到您需要的任何角色。
在代码中,您可以使用WP_Roles::add_cap()
, 像这样:
$roles = wp_roles();
$roles->add_cap( \'administrator\', \'manage_custom_plugin\' );
$roles->add_cap( \'editor\', \'manage_custom_plugin\' );
请注意,这些函数会写入数据库,因此只能在插件或主题激活时运行一次。