我已经创建了一个新的用户角色。
add_role('lln_assessor', 'LLN Assessor', array(
'read' => true,
));
此角色将访问自定义管理菜单页。
add_action( 'admin_init', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
global $user_ID;
if ( current_user_can( 'lln_assessor' ) ) {
add_menu_page('Axcelerate LLN','LLN Datas','read_assess_lln', 'Axcelerate_Link_Admin_lln_data','axcelerate_link_admin_lln_data_fn','','1.0' );
}
}
但首先我必须为它创建一个自定义功能。
$role_object = get_role( 'lln_assessor' );
// add $cap capability to this role object
$role_object->add_cap( 'read_assess_lln');
但当我试图访问管理面板中的"LLN数据"菜单时,我遇到了这个问题。
You do not have sufficient permissions to access this page.
我认为错误是在自定义功能上,但我不知道如何修复它。请帮助。
尝试将current_user_can从lln_assessor更改为read_assess_lln
if ( current_user_can( 'read_assess_lln' ) ) {
add_menu_page('Axcelerate LLN','LLN Datas','read_assess_lln', 'Axcelerate_Link_Admin_lln_data','axcelerate_link_admin_lln_data_fn','','1.0' );
}
并确保您以lln_assessor而非管理员身份登录。