WordPress登陆之后返回登陆前的页面
在默认情况,WordPress博客登陆之后会直接进入管理后台,但是若想登陆后返回登陆前的页面该怎么办呢?在WordPress中文论坛有个网友提起了这个问题,下面是我给他提供的解决方案:
方法一:添加超链接
你可以在主题目录下的sidebar.php或者其他文件中添加以下登陆超链接:
<a href="<?php echo wp_login_url( home_url(add_query_arg(array(),$wp->request)) ); ?>" title="登陆后台">登陆后台</a>
这样在侧边栏点击这个链接登陆后就会自动返回登录前的页面。
方法二:修改WordPress源代码
如果你是使用了WordPress提供的"功能"小工具来添加的登陆链接,上面的方法就不能奏效了,只能通过修改源代码来实现了。在Wordpress安装目录下找到wp-login.php,用文本编辑器之类的打开,在 <?php 下面添加以下代码:
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'];
}接着查找以下代码:
<input type="hidden" name="redirect_to" value="<?php echo esc_attr($redirect_to); ?>" />
将其改成:
<input type="hidden" name="redirect_to" value="<?php if ( isset($_SESSION["REFERER"]) ) { echo $_SESSION["REFERER"]; } else { echo esc_attr($redirect_to); } ?>" />好了,大功造成!实现的原理很简单,就是使用了php的SESSION会话功能,打开wp-login.php首先会创建$_SESSION["REFERER"] ,它的值为登陆前的页面地址,即$_SERVER['HTTP_REFERER']。如果登陆前的网址中含有login或者admin,则不创建$_SESSION["REFERER"] ,因为这可能是登陆失败或者注销退出的情况,这样在登陆成功又跳回登录页就不好玩了。
接着是登陆表单loginform的设置,搜索name="redirect_to"的隐藏域,这个隐藏域控制登陆后跳转的目标页,我们这里这样设置:如果$_SESSION["REFERER"]已有值,则设置其跳转到登陆前的页面,否则使用默认的调转方式。
注意:以上内容在WordPress 2.9.2下测试成功,其他版本暂未测试,需要的话自己试试。另外WordPress每次自动升级会覆盖掉原来的相关文件,升级前先对wp-login.php做好备份,或者升级后照着上面的内容重新修改一遍。
上一篇:WordPress升级错误:Fatal error: Maximum execution time
栏 目:WordPress
本文地址:https://zz.feitang.co/CMSjiaocheng/25968.html
您可能感兴趣的文章
- 11-11wordpress导航菜单新窗口打开的设置方法
- 11-11WP-PostViews插件如何修改文章阅读数
- 11-11wordpress附件保存目录改为年月日和上传文件重命名为时间戳
- 11-11WordPress 上传媒体库文件重命名 全格式支持
- 11-11解决wordpress安装后更新或者上传文件权限不足的问题
- 11-11wordpress实现主动推送+熊掌号推送同步进行
- 11-11WordPress 添加友情链接设置 nofollow 属性
- 11-11WordPress 实现 wp_list_bookmarks 自定义友情链接排除调用
- 11-11WordPress首页指定或排除某分类文章显示
- 11-11WordPress不同分类调用不同的文章模板


阅读排行
推荐教程
- 09-22wordpress如何添加描述
- 11-11wordpress附件保存目录改为年月日和上传文件重命名为时间戳
- 10-19纯代码给WordPress网站添加独立下载页面功能
- 11-11WordPress之给文章内容中间插入广告的实现方法
- 10-18wordpress无插件调用随机文章的方法
- 10-18WordPress 技巧:WordPress 后台也使用七牛云存储
- 10-24Win10无法调节声音怎么办?Win10无法调节声音的解决方法
- 10-19WordPress上传图片HTTP错误的解决方法
- 10-18让注册用户可以上传自己的头像的WordPress插件-WP User Avatar v2.
- 11-11国外WordPress精美主题如何DIY汉化成中文版呢?





