我具有以下功能,如果他们的会话已过期,该功能会将人们重定向到年龄验证页面:
function age_verification() {
global $wp_session;
if (is_admin())
return false;
$isAgeVerification = is_page('age-verification');
$isAgeVerification = strpos($_SERVER['REQUEST_URI'], 'age-verification') !== false;
if(!$isAgeVerification && $wp_session['age_allow'] == 0)
{
wp_safe_redirect( '/age-verification/' );
exit;
}
if($isAgeVerification && $wp_session['age_allow'] == 1)
{
wp_safe_redirect( '/' );
exit;
}
}
add_action( 'init', 'age_verification' );
如何使它们重定向回最初在地址栏中键入的页面?我试图捕获$_SERVER['REQUEST_URI']
,但是它给了我当前的/age-verification
页面,而不是它们引用的页面。我也尝试过$_SERVER['HTTP_REFERER']
,但是没有设置...
我当前的功能有可能吗?谢谢!
编辑:
因此,每当我致电$_SERVER['REQUEST_URI']
时,我都会得到浏览器重定向到的页面(domain.com/age-verification)。但是,我注意到,如果在exit;
后面紧跟放置$_SERVER['REQUEST_URI']
,则会得到正确的结果。好像$_SERVER['REQUEST_URI']
太慢了,并且在没有机会获得重定向之前获取当前页面之前,已通过domain.com/age-verification更新了。
这提供更多线索了吗?我还能提供什么帮助呢?
答案 0 :(得分:0)
您可以将当前REQUEST_URI设置为Session,然后再重定向到使用期限验证,并使用该值进行重定向。 另一种可能是在重定向到年龄验证时将其放在URL参数中。