你可能会在很多网站看到一些很炫的登陆窗口,点击"登陆"按钮后,会在当前页面弹出一个登陆窗口,填写登陆信息,登陆成功后,就会自动返回原来的页面。而我们使用的WordPress博客系统,在默认情况下只能打开一个新的页面进行登陆,对一些人来说不是很方便。今天我将教你,如何让WordPress支持在当前页面打开登陆窗口进行登陆。先下载我们必须的文件:https://pan.freexyz.cn/s/hx9ksx19
下载完毕,解压将得到一个文件夹lightbox
,将其复制到当前你所以使用的主题目录下。接着用文本编辑器打开 lightbox
目录下的 login.php
,将 http://localhost/wp
改成你的WordPress 安装地址。WordPress博客安装地址可以在这里找到: WordPress后台 - 设置 - 常规
,注意不要在地址后面添加 /
1、对你的主题做一些更改
用文本编辑器打开你的主题目录中footer.php,将 </body> 替换成:
<link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/lightbox/lightbox.CSS" type="text/css" />
<script type="text/JavaScript" src="<?php bloginfo('template_directory'); ?>/lightbox/prototype.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/lightbox/lightbox.js"></script>
</body>
用文本编辑器打开主题目录下的functions.php(没有就新建一个),将最后的 ?> 改成:
// 说明:获取当前网页的完整URL
function curPageURL()
{
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on")
{
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80")
{
$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
}
else
{
$pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
2、设置登录链接
(1) 在文章中添加登录地址
如果你在后台编写文章的时候,想在文章里面添加登录链接,可以切换到HTML模式,在合适的地方添加登录链接即可:
<a title="Log in" class="lbOn" href="http://这里填你当前使用的主题路径/lightbox/login.php?redirect=http://这里填登录成功后返回的页面地址">登录</a>
上面的当前使用的主题路径,类似 https://www.ludou.org/wp-content/themes/default
,也就是你当前使用的主题的路径;登录成功后返回的页面地址,为你想让用户登录成功后台返回的页面地址,如果你想返回当前页面就填当前页面的地址。如:
<a title="Log in" class="lbOn" href="https://www.ludou.org/wp-content/themes/default/lightbox/login.php?redirect=https://www.ludou.org">登录</a>
上面的东西看起来比较繁琐,那是因为你是在文章中插入链接,所以不能使用PHP代码帮你填写链接,只能用静态的HTML。下面的是直接更改你的主题,可能比较方便一些。
(2) 在你的主题文件中添加登录链接
如果你想在主题文件sidebar.php、index.php、single.php等中添加登录链接,可以在合适位置添加以下代码:
<?php if ( !$user_ID ) { ?>
<a href="<?php echo get_option('siteurl'); ?>/wp-content/themes/<?php echo get_option('template'); ?>/lightbox/login.php?redirect=<?php echo curPageURL(); ?>" class="lbOn" title="Log in">登录</a>
<?php } else { ?>
<a href="http://这里填写退出登录链接" title="登出">登出</a><br />
<a href="http://这里填写后台链接" title="管理">管理</a>
<?php } ?>