Wordpress&建站 ·

让WordPress实现登陆之后返回登陆前的页面

在默认情况,WordPress博客登陆之后会直接进入管理后台,但是如何让WordPress实现登陆之后返回登陆前的页面呢?目前有两种方法可以实现:

1、添加超链接就能实现

你可以在主题目录下的sidebar.php或者其他文件中添加以下登陆超链接:

这样在侧边栏点击这个链接登陆后就会自动返回登录前的页面。

让WordPress实现登陆之后返回登陆前的页面 WordPress&建站 第1张

2、通过修改wordpress的源代码实现

如果你是使用了WordPress提供的"功能"小工具来添加的登陆链接,上面的方法就不能奏效了,只能通过修改源代码来实现了。在Wordpress安装目录下找到wp-login.php,用文本编辑器之类的打开,在 <?php 下面添加以下代码:

接着查找以下代码:

将其改成:

好了,大功造成!实现的原理很简单,就是使用了php的SESSION会话功能,打开wp-login.php首先会创建$_SESSION["REFERER"] ,它的值为登陆前的页面地址,即$_SERVER['HTTP_REFERER']。如果登陆前的网址中含有login或者admin,则不创建$_SESSION["REFERER"] ,因为这可能是登陆失败或者注销退出的情况,这样在登陆成功又跳回登录页就不好玩了。

接着是登陆表单loginform的设置,搜索name="redirect_to"的隐藏域,这个隐藏域控制登陆后跳转的目标页,我们这里这样设置:如果$_SESSION["REFERER"]已有值,则设置其跳转到登陆前的页面,否则使用默认的调转方式。

参与评论