0

在下面的代码中,我想我搞砸了这部分:if ( (1 || 2) != $current_user->ID ). 也许是一个放错位置的支架,我不确定。我不精通PHP,所以我确定这是一个简单的错误。

if ( (1 || 2) != $current_user->ID ) {
add_action('admin_menu', 'remove_menus_users');
}

如果有人可以帮助我,我将不胜感激。

4

4 回答 4

2

以下更正应该可以解决您的问题。

if ( 1 != $current_user->ID && 2 != $current_user->ID) {
add_action('admin_menu', 'remove_menus_users');
}
于 2012-06-22T11:49:20.127 回答
1

if归结为if ((true) != $current_user->ID ). 如果要针对多个条件测试一个变量,请每次检查:

if (($current_user->ID == 1) || ($current_user->ID == 2)) ...

但是您可能想研究角色。如果您的站点变得非常繁忙,并且您想分配另一个用户的管理员权限但他的 ID 是 872,您是否要对这个 ID 进行硬编码?

于 2012-06-22T11:49:51.287 回答
0

尝试这个

 if($current_user->ID != 1 || $current_user->ID != 2){
     add_action('admin_menu', 'remove_menus_users');

 }
于 2012-06-22T11:49:07.540 回答
0

你的逻辑有缺陷。你不能有“如果它不等于一个数字,或者它不等于一个不同的数字”,因为它总是不等于其中一个。

您还应该颠倒您的比较顺序。将变量与数字匹配,而不是将数字与变量匹配。以下假设您要确保当前用户 ID 不等于 1 或 2。

if ($current_user->ID!=1 && $current_user->ID!=2) {

}
于 2012-06-22T11:50:44.000 回答