我创建了一些wordpress管理菜单,我想为多个角色添加这些菜单:
add_submenu_page('Events', 'Colloqui', 'subscriber, editor', 'events', 'ww_events');
这仅适用于订阅者角色。但是,我希望此菜单也适用于管理员角色。
答案 0 :(得分:3)
我会为subscriber
和editor
角色创建自定义功能。
$subs = get_role('subscriber');
$editor = get_role('editor');
$subs->add_cap('custom_menu_access');
$editor->add_cap('custom_menu_access');
然后创建具有所述功能的新菜单项(请参阅以下函数调用中的第四个参数)。
add_submenu_page('some-parent-slug, 'Events', 'Colloqui', 'custom_menu_access', 'events', 'ww_events');
请记住仅在插件/主题激活时添加功能和角色,因为它们会保存到数据库中。
答案 1 :(得分:1)
我已经解决了这个问题。获取当前用户角色,然后将特定的管理菜单添加到特定角色。
$c_id = get_current_user_id();
$user = new WP_User($c_id);
$u_role = $user->roles[0];
if(($u_role == "administrator")) {
function register_merchant() {
add_submenu_page( $parent_slug, $page_title, $menu_title, 'administrator' ,
$menu_slug, $function );
}
}
else if($u_role == "custom_role") {
function register_merchant() {
add_submenu_page( $parent_slug, $page_title, $menu_title, 'custom_role' ,
$menu_slug, $function );
}}
else {
function register_merchant() {
add_submenu_page( $parent_slug, $page_title, $menu_title, 'custom_role' ,
$menu_slug, $function );
} }
答案 2 :(得分:0)
对于菜单的权限,您必须为页面分配功能。 add_submenu_page
的第四个参数是$capability
。
https://codex.wordpress.org/Function_Reference/add_submenu_page
add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function );
检查此codex页面以获取WordPress中的可用功能。 https://codex.wordpress.org/Roles_and_Capabilities