WordPress技巧: 当前页面弹出登陆窗口进行登陆

来自:互联网
时间:2019-07-31
阅读:

你可能会在很多网站看到一些很炫的登陆窗口,点击"登陆"按钮后,会在当前页面弹出一个登陆窗口,填写登陆信息,登陆成功后,就会自动返回原来的页面。而我们使用的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 } ?>

效果演示:

演示

返回顶部
顶部