我使用下面的代码片段锁定了除我之外的所有管理员和编辑器
if ( is_user_logged_in() ){
$current_user = wp_get_current_user() ;
if ( in_array( \'administrator\', (array) $current_user->roles ) || in_array( \'editor\', (array) $current_user->roles )) {
if ($current_user->user_login != \'sheila\' ){
wp_logout();
return new WP_Error( \'login_again_please\', \'Please log in again\' );
}
}
}
当我尝试在第二个if语句中添加第二个用户时,我们都被锁定:
if ( is_user_logged_in() ){
$current_user = wp_get_current_user() ;
if ( in_array( \'administrator\', (array) $current_user->roles ) || in_array( \'editor\', (array) $current_user->roles )) {
if (($current_user->user_login != \'john\' ) || ($current_user->user_login != \'sheila\' )){
wp_logout();
return new WP_Error( \'login_again_please\', \'Please log in again\' );
}
}
}
如何修复上述代码段,以允许两个具有特定用户名的管理员/编辑器登录,或者我可以有一个具有相同结果的替代方案?
最合适的回答,由SO网友:shanebp 整理而成
||
表示或。您的代码永远不会允许$current\\u用户继续,因为其中一个条件将失败。尝试使用和&&
而是:
if ( ($current_user->user_login != \'john\') && ($current_user->user_login != \'sheila\' ) ) {