你需要把前三个包起来||
附加括号中的条件,以便首先对其求值BEFORE 最后一个&&
条件:
Psuedocode example:
here here
↓ ↓
if ( (condition || condtion || condition) && ! condition ) {
//do business logic...
}
This now means that:
如果有的话
ONE 属于
is_paged()
OR is_author()
OR is_single()
IS true
THEN 评估第二个条件
! is_user_logged_in()
In your original code:
前三个条件没有附加括号,
IF 这四个条件中的任何一个返回
true
然后,您将重定向用户,无论他们是否登录。
Final code with additional parentheses:
add_action( \'template_redirect\', \'redirect_to_specific_page\' );
function redirect_to_specific_page() {
if ( (is_paged() || is_author() || is_single()) && ! is_user_logged_in() ) {
wp_redirect( \'http://www.exampleblog.net/members-only/\', 301 ); exit;
}
}