随身笔记
随身笔记

wordpress登录后返回当前页面

使用wordpress开放注册会员功能在默认登录的时候没有自动返回之前的页面,这个对于非管理员来说用户体验很差,这里可以这样修改:
1,可以通过修改wp-login.php来实现

 

[code]if (!isset($_SESSION))
{
session_start(); //创建一个session会话
session_regenerate_id();
}

if (isset($_SERVER[‘HTTP_REFERER’]) && $_SERVER[‘HTTP_REFERER’] != ”
&& strpos($_SERVER[‘HTTP_REFERER’],’admin’) == false
&& strpos($_SERVER[‘HTTP_REFERER’],’login’) == false)
{
// 登陆前的页面地址
// 如果你想登陆后返回首页,请将 $_SERVER[‘HTTP_REFERER’] 改成 ‘http://你的首页网址’
$_SESSION[“REFERER”] = $_SERVER[‘HTTP_REFERER’];
}[/code]
然后查找以下代码:
[code]<input type=”hidden” name=”redirect_to” value=”<?php echo esc_attr($redirect_to); ?>” />[/code]
将其改成:
[code]<input type=”hidden” name=”redirect_to” value=”<?php if ( isset($_SESSION[“REFERER”]) ) { echo $_SESSION[“REFERER”]; } else { echo esc_attr($redirect_to); } ?>” />[/code]
如果需要logout的时候也跳转回当前页面,则可以查找:
[code]$redirect_to = !empty( $_REQUEST[‘redirect_to’] ) ? $_REQUEST[‘redirect_to’] : ‘wp-login.php?loggedout=true’;[/code]
将其改成:

[code]if( !empty( $_REQUEST[‘redirect_to’] ) ){
$redirect_to = $_REQUEST[‘redirect_to’];
}else{
if ( isset($_SESSION[“REFERER”]) ) {
$redirect_to = $_SESSION[“REFERER”];
} else {
$redirect_to = ‘wp-login.php?loggedout=true’;
}
}[/code]

 

随身笔记

wordpress登录后返回当前页面
使用wordpress开放注册会员功能在默认登录的时候没有自动返回之前的页面,这个对于非管理员来说用户体验很差,这里可以这样修改: 1,可以通过修改wp-login.php来实现   [code…
扫描二维码继续阅读
2013-03-27