Я создал новую роль пользователя.
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 Datas» в панели администратора, я получил эту ошибку.
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 вместо администратора.
Других решений пока нет …