2015-12-03 99 views
0

我已創建新的用戶角色。如何爲自定義用戶角色創建自定義功能

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.

我覺得是在自定義功能錯誤,但我對如何解決它不知道。請幫忙。

+0

使用此插件的功能https://wordpress.org/plugins/capability-manager-enhanced/ –

回答

0

嘗試改變current_user_can從lln_assessorread_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,而不是管理記錄。