不言而喻。如何为函数向该函数添加其他用户。php,即user2,将向谁显示与user1不同的菜单项?
我尝试添加另一个if($current_user->user_login == \'user2\')
条件,但没有运气。如果有必要,User2将拥有不同的管理权限。但基本上,我需要能够将一组菜单项显示给user1,另一组显示给user2,所以我需要找出一些if-else逻辑。但我试过了,结果菜单函数出现了“无法重新声明以前声明的”错误。
function remove_menus()
{
global $menu;
global $current_user;
get_currentuserinfo();
if($current_user->user_login == \'user1\')
{
$restricted = array(
__(\'Links\'),
__(\'Comments\'),
__(\'Appearance\'),
__(\'Plugins\'),
__(\'Profile\'),
__(\'Tools\'),
__(\'Settings\')
);
end ($menu);
while (prev($menu)){
$value = explode(\' \',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
}
add_action(\'admin_menu\', \'remove_menus\');
最合适的回答,由SO网友:Bainternet 整理而成
为什么不添加另一个if?
function remove_menus(){
global $menu;
global $current_user;
get_currentuserinfo();
//check first user
if($current_user->user_login == \'user1\'){
$restricted = array(
__(\'Links\'),
__(\'Comments\'),
__(\'Appearance\'),
__(\'Plugins\'),
__(\'Profile\'),
__(\'Tools\'),
__(\'Settings\')
);
end ($menu);
while (prev($menu)){
$value = explode(\' \',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
//check second user
if($current_user->user_login == \'user2\'){
$restricted = array(
__(\'Links\'),
__(\'Comments\'),
__(\'Appearance\'),
__(\'Plugins\')
);
end ($menu);
while (prev($menu)){
$value = explode(\' \',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
}
add_action(\'admin_menu\', \'remove_menus\');
相同的功能,但两个不同的用户将获得不同的菜单。
SO网友:kaiser
这是-a small plugin i wrote - 这很有效&;这是经过测试的。
您可以简单地上传它,并在您的functions.php
文件:
如何
# Add a user to a user group from inside your functions.php file
function test_me( $user_group_A )
{
$user_group_A[] = \'Take your own name for testing\';
return $user_group_A;
}
add_filter( \'user_group_A\', \'test_me\' );
如上图所示,向其中一个组添加一个(或多个)用户非常简单。修改菜单项组几乎是相同的。只需在主题函数中处理这些数组。