更新:下面的这段代码还删除了我的管理员帐户的菜单:
function remove_menu_items() {
global $menu;
global $user_ID;
if( $user_ID ) :
/* Dashboard only acccess */
if( current_user_can( \'Dashboardvisitors\' ) ) :
$restricted = array(
__(\'Posts\'),
__(\'Media\'),
__(\'Pages\'),
__(\'Links\'),
__(\'Appearance\'),
__(\'Tools\'),
__(\'Users\'),
__(\'Settings\'),
__(\'Comments\'),
__(\'Plugins\')
);
endif;
endif;
end ( $menu );
while ( prev( $menu ) ) :
$value = explode( \' \', $menu[key($menu)][0] );
if( in_array( $value[0] != NULL?$value[0]:"" , $restricted ) ) :
unset( $menu[key($menu)] );
endif;
endwhile;
}
add_action(\'admin_menu\', \'remove_menu_items\');
我如何授予用户仅访问仪表板的权限?
更具体地说,我希望他们能够看到wordpress统计小部件和google分析小部件。就是这样。
我使用插件用户角色编辑器创建了一个新用户,其角色为dashboardvisitors。
现在level 0 plus read access 不会割断它。仪表板是空的。
正在添加edit dashboard 不会改变任何事情。仍然没有任何内容(但我不希望他们能够以任何方式编辑仪表板)。
我怎样才能做到这一点?这很重要,非常感谢!
SO网友:mike23
你可以把这个放在你的functions.php
:
function remove_menu_items() {
global $menu;
global $user_ID;
if( $user_ID ) :
/* Dashboard only acccess */
if( current_user_can( \'dashboardvisitors\' ) ) :
$restricted = array(
__(\'Posts\'),
__(\'Pages\'),
__(\'Links\'),
[etc...]
);
endif;
endif;
end ( $menu );
while ( prev( $menu ) ) :
$value = explode( \' \', $menu[key($menu)][0] );
if( in_array( $value[0] != NULL?$value[0]:"" , $restricted ) ) :
unset( $menu[key($menu)] );
endif;
endwhile;
}
add_action(\'admin_menu\', \'remove_menu_items\');
它所做的是,对于“dashboardvisitors”角色的每个前往WP admin的用户,它会删除
restricted
大堆如果在该数组中列出除仪表板之外的所有管理部分,则应该只有仪表板管理。