如何在WordPress中显示编辑器用户角色的WP插件菜单

时间:2017-07-17 17:33:26

标签: wordpress user-roles

我正在尝试显示“编辑”角色的插件菜单/选项页面, 但它没有出现。怎么解决这个?谢谢。

这是我的代码:

function jowct_add_plugin_for_editors(){  
  if (!current_user_can('manage_options')) {
    add_menu_page(
			'Menu Page Title', 
			'Menu Title',
			'delete_others_pages',
			'jowct-wpplugin-menu',
			'jowct_menu_option_page',
			'dashicons-admin-generic',
			'3',
		); 
  }  
} 
if(is_admin()) {  
  add_action( 'admin_menu', 'jowct_add_plugin_for_editors' );  
}

2 个答案:

答案 0 :(得分:0)

您可以完全删除if。 (他们都) 由于您已经在检查manage_options,因此您不需要检查delete_others_pages 更多信息https://codex.wordpress.org/Roles_and_Capabilities

function jowct_add_plugin_for_editors(){  
    add_menu_page(
            'Menu Page Title', 
            'Menu Title',
            'delete_others_pages', //this will restrict access
            'jowct-wpplugin-menu',
            'jowct_menu_option_page',
            'dashicons-admin-generic',
            '3'  // this comma was incorrect syntax
        );
} 
// action admin_menu will only trigger in the admin, no need for the if.
add_action( 'admin_menu', 'jowct_add_plugin_for_editors' );

答案 1 :(得分:0)

谢谢大家,我刚刚解决了这个问题。 在这种情况下,我想显示插件主菜单&子菜单为管理员角色。编辑角色只能访问主菜单。 关键是将主菜单功能设置为编辑器功能,例如" moderate_comments",这样管理员和编辑者都可以访问此主菜单。

对于子菜单,将功能设置为" manage_options"。这样,只有管理员才能看到此子菜单。 看看这张桌子: https://codex.wordpress.org/Roles_and_Capabilities