wp_get_referer not working properly after wp_redirect

时间:2013-07-03 作者:bysanchy

感谢您的阅读!我正在创建的网站上有很多重定向。

例如

如果未登录用户访问“私人”页面,他将被重定向到自定义登录页面。

如果用户登录,他将被重定向到访问登录表单之前访问的最后一个页面。

让我们把这些页面称为“Profile”和“LogIn”。

因此,如果一切顺利,应该:

->未记录尝试访问Profile -> 重定向到LogIn -> 如果确定,重定向到Profile

但是,当LogIn 调用wp\\u get\\u referer(),它不会返回Profile. 相反,它返回“2页”。

就像“wp\\u get\\u referer()”不是seingProfile 作为referer,因为它充当重定向。就像浏览器中的“后退”按钮一样。

If you go to the LogIn through any \'public\' page (clicking the link) the redirect after login in works fine.

page-profile.php

if( !is_user_logged_in() ) {    
    wp_redirect( get_permalink(37) ); //id 37 = page-login.php
    exit;
}

page-login.php

//Set referer
$referer = wp_get_referer();
if( !$referer || referer_is_login_page($referer) )
    $referer = get_bloginfo(\'url\');
simpleSessionSet(\'login_referer\', $referer);

... 
//Log the user in 
...

if ( is_wp_error($user_id) )            
    $errores = TRUE;
else 
    wp_redirect( simpleSessionGet(\'login_referer\', \'\') );

1 个回复
SO网友:Tom J Nowell

不要为simpleSessionGet操心,而是像WordPress本身那样使用get参数

e、 g。

$current_url = $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
wp_redirect( get_permalink(37).\'?redirect_to=\'.$current_url);
然后在重定向中,执行类似以下操作:

wp_redirect( $_GET[\'redirect_to\'] );

结束

相关推荐

wordpress login blank screen

我想在我的电脑上制作我的live网站的脱机副本,所以我安装了xamp,并在其上安装了wordpress,导出了数据库,并在fttp上复制了一份文件。在我做了所有事情之后,我想打开我的live网站来编辑一些内容,当我打开时,它会给我一个空白页 \"www.sitename.com/wp-admin\" 但当我打开\"www.sitename.com/wp-login.php\" 当我插入用户名和密码时,它会打开put,它也会给我空白页我打开wp配置,发现dp主机\"localhost\