EDIT
您正在使用
auth_redirect();
, 默认情况下,它会检查用户是否登录,因此无需再次检查用户是否登录
从页面调用此代码时,它会检查查看该页面的用户是否已登录。如果用户未登录,则会将其重定向到登录页面。用户被重定向的方式是,登录后,他们将被直接发送到他们最初尝试访问的页面。
所以你可以
if ( ! is_page ( 6 ) ) {
auth_redirect();
}
EDIT 2
//If Role = Customer & Page Is ID 6 Then Redirect To Checkout
if ( user_can( $current_user, "customer" ) && ! is_page( 6 ) )
这是代码的前两行,检查第1行页面的ID为6,检查第2行
! is_page( 6 )
。找出差异?
如果页面IDIS NOT 6
EDIT 3
正在从标头运行脚本。php和是php文件中的第一件事
php文件中的第一件事是什么意思。这将破坏你的网站。您需要将此代码至少移动到开始正文标记内(<body>
), 应该在哪里
EDIt 4
自我们开始以来,一些事情发生了变化:-)。尝试重新组织序列
//If Role = Customer & Page Is ID 6 Then Redirect To Checkout
if ( user_can( $current_user, "customer" ) && ! is_page( 6 ) ) {
wp_redirect(home_url().\'/checkout\');
exit;
}elseif ( user_can( $current_user, "member" ) && is_page( 6 ) {
// User role = member and Page ID is 6 redirect to home page
wp_redirect(home_url());
exit;
} elseif ( ! is_page ( 6 ) && !is_user_logged_in() ) {
//If Not Logged in & Page Is Not ID 6 then redirect to login
auth_redirect(); //Not sure if this will work.
}
?>