WordPress登陆之后返回登陆前的页面
来源:互联网 发布:python爬虫 去重 编辑:程序博客网 时间:2024/06/11 17:52
点击打开链接
如果你想实现前台登录功能,可以参考这篇文章:WordPress实现前台登录功能
在默认情况,WordPress博客登陆之后会直接进入管理后台,但是若想登陆后返回登陆前的页面该怎么办呢?在WordPress中文论坛有个网友提起了这个问题,下面是我给他提供的解决方案:
方法一:添加超链接
你可以在主题目录下的sidebar.php或者其他文件中添加以下登陆超链接:
这样在侧边栏点击这个链接登陆后就会自动返回登录前的页面。感谢网友"快乐生活"的分享
方法二:修改WordPress源代码
如果你是使用了WordPress提供的"功能"小工具来添加的登陆链接,上面的方法就不能奏效了,只能通过修改源代码来实现了。在Wordpress安装目录下找到wp-login.php,用文本编辑器之类的打开,在 <?php 下面添加以下代码:
2
3
4
5
6
7
8
9
10
11
12
13
14
{
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'];
}
接着查找以下代码:
将其改成:
好了,大功造成!实现的原理很简单,就是使用了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登陆之后返回登陆前的页面
- React登陆账号之后返回之前的页面
- 登陆成功后返回前一个页面
- 登陆成功后返回前一个页面
- 登陆之后跳转到登陆之前浏览页面的实现
- 登陆后返回原页面
- 退出系统,返回登陆页面
- PHP网站——返回上一页(登陆后自动到登陆前的界面)
- 自动化登陆百度页面的登陆页面
- 登陆页面登陆之后页面回退到上级非登陆页面
- 将wordpress admin bar中用户登出后跳转至登陆页面修改为登出前页面
- PHP登陆后跳转到登陆前页面
- 如何在登陆后返回之前浏览的页面
- 登陆页面的识别码
- MiniTwitterSimulate的登陆页面
- 登陆页面的设计
- 登陆页面的制作
- 简单的登陆页面
- 昆仑叶哲华:企业品牌建设需规避的误区
- 数据挖掘中所需的概率论与数理统计知识、上
- Microsoft Dynamics CRM Server 2013软件安装要求
- ANDROID PAD版本 PHONE版本 源码有什么 区别?
- MVC-UIView同数据交互
- WordPress登陆之后返回登陆前的页面
- CSS基础:text-overflow:ellipsis溢出文本显示省略号的详细方法_CSS教程
- verilog语法学习心得
- SQL SERVER 2008 like 条件 中括号不能随便用
- 网易邮箱多文件上传机制初探
- Mahout推荐算法之SlopOne
- Android的Intent Flag
- 解决richedit的内容不能超过64k的方法
- Activity4种启动模式