WordPress 插件 |新菜单页面对新用户角色可见,但对 WP 管理员不可见
Wordpress Plugin | New Menu Page visible for new user role but not for WP-Administrator
我正在创建一个新的 wordpress
插件。
对于这个插件,我创建了一个名为 mypluginadmin
的新角色。
该插件有一个“新的管理菜单”页面,它是用函数
创建的
add_menu_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '', string $icon_url = '', int $position = null )
我的问题是,默认情况下,一个用户只能分配一个 role
。
当我有一个使用这个新 role
的用户时,他可以看到新页面。
具有默认 administrator
角色的用户看不到新页面,但他应该看到。
我该怎么做才能使具有 administrator
角色的用户也能看到这个新页面?
函数add_menu_page
的参数$capability
不是数组,我可以在其中传递多个值。
谁能帮帮我?
非常感谢
您必须为 administrator
和 mypluginadmin
角色定义(添加)相同的 capability
并将其作为 add_menu_page
函数中 $capability
的值调用。
例如)
首先向两个用户角色添加具有自定义名称(例如“access_custom_admin_menu”的相同功能
// get the the role object
$admin_role = get_role( 'administrator' );
// grant the access_admin_custom_menu capability
$admin_role->add_cap( 'access_custom_admin_menu', true );
// get the the role object
$mypluginadmin_role = get_role( 'mypluginadmin' );
// grant the access_admin_custom_menu capability
$mypluginadmin_role ->add_cap( 'access_custom_admin_menu', true );
然后在函数中使用它
add_menu_page( 'your_page_title', 'your_menu_title', 'access_custom_admin_menu', 'your_menu_slug', ....
其实目标是使用一个只有这两个角色有,其他用户角色没有这个capability
的capability
,如果你目前有capability
使用此功能,您无需执行上述操作即可使用它
我正在创建一个新的 wordpress
插件。
对于这个插件,我创建了一个名为 mypluginadmin
的新角色。
该插件有一个“新的管理菜单”页面,它是用函数
add_menu_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '', string $icon_url = '', int $position = null )
我的问题是,默认情况下,一个用户只能分配一个 role
。
当我有一个使用这个新 role
的用户时,他可以看到新页面。
具有默认 administrator
角色的用户看不到新页面,但他应该看到。
我该怎么做才能使具有 administrator
角色的用户也能看到这个新页面?
函数add_menu_page
的参数$capability
不是数组,我可以在其中传递多个值。
谁能帮帮我?
非常感谢
您必须为 administrator
和 mypluginadmin
角色定义(添加)相同的 capability
并将其作为 add_menu_page
函数中 $capability
的值调用。
例如)
首先向两个用户角色添加具有自定义名称(例如“access_custom_admin_menu”的相同功能
// get the the role object
$admin_role = get_role( 'administrator' );
// grant the access_admin_custom_menu capability
$admin_role->add_cap( 'access_custom_admin_menu', true );
// get the the role object
$mypluginadmin_role = get_role( 'mypluginadmin' );
// grant the access_admin_custom_menu capability
$mypluginadmin_role ->add_cap( 'access_custom_admin_menu', true );
然后在函数中使用它
add_menu_page( 'your_page_title', 'your_menu_title', 'access_custom_admin_menu', 'your_menu_slug', ....
其实目标是使用一个只有这两个角色有,其他用户角色没有这个capability
的capability
,如果你目前有capability
使用此功能,您无需执行上述操作即可使用它