如何为自定义用户角色创建自定义功能

时间:2015-12-03 02:10:36

标签: php wordpress user-roles

我已经创建了一个新的用户角色。

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.

我认为错误在于自定义功能,但我不知道如何修复它。请帮忙。

1 个答案:

答案 0 :(得分:0)

尝试将current_user_can从 lln_assessor 更改为 read_assess_lln

<select id="calcType1" oninput="checkShow('enter1',this)">
    <option value="val">Entered Value</option>
    <option value="saveVal">Saved Value</option>
    <option value="saveVal2">Saved Value 2</option>
    <option value="saveVal3">Saved Value 3</option>
</select>
<div class="noBreak shown" id="enter1">
    <input id="calcValue1" class="number"> ±
    <input id="calcUnc1" class="number">
</div>

并确保以lln_assessor而不是admin登录。