完美wordpress前台弹出登录窗(优化退出代码)全解析

终于弄了个前台弹出登录框,参考露兜的方法。
我想要的实现的是:

登陆后返回之前的页面;
退出后也返回之前的页面 。

这两个功能中,肚兜只实现了前者,于是一番google,终于弄全了。方法如下:

首先下载文件lightbos.zip,下载地址: 点此下载

下载完毕,解压将得到一个文件夹lightbox ,将其复制到当前你所以使用的主题目录下。接着用文本编辑器打开 lightbox 目录下的 login.php,将 http://localhost/wp 改成你的WordPress 安装地址。WordPress博客安装地址可以在这里找到: WordPress后台 - 设置 - 常规,注意不要在地址后面添加 / 。

然后做以下工作:

1、修改主题文件:

用文本编辑器打开你的主题目录中header.php,在 </head> 之前添加:

  1. <link rel=“stylesheet” href=“<?php bloginfo(‘template_directory’); ?>/lightbox/lightbox.css” type=“text/css” />
  2. <script type=“text/javascript” src=“<?php bloginfo(‘template_directory’); ?>/lightbox/prototype.js”></script>
  3. <script type=“text/javascript” src=“<?php bloginfo(‘template_directory’); ?>/lightbox/lightbox.js”></script>

露兜说的是在footer.php页面的</body>之前添加以上代码,不知出于什么考虑,经测试效果一样。
用文本编辑器打开主题目录下的functions.php(没有就新建一个),在最后的 ?> 之前加上:

  1. // 说明:获取当前网页的完整URL
  2. function curPageURL()
  3. {
  4. $pageURL = ‘http’;
  5. if ($_SERVER["HTTPS"] == “on”)
  6. {
  7. $pageURL .= “s”;
  8. }
  9. $pageURL .= “://”;
  10.  
  11. if ($_SERVER["SERVER_PORT"] != “80″)
  12. {
  13. $pageURL .= $_SERVER["SERVER_NAME"] . “:” . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
  14. }
  15. else
  16. {
  17. $pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
  18. }
  19. return $pageURL;
  20. }

2、在主题中添加登陆链接

  1. <?php if ( !$user_ID )  { ?>
  2. <a href=”<?php echo get_option(‘siteurl’); ?>/wp-content/themes/<?php echo get_option(‘template’); ?>/lightbox/login.php?redirect=<?php echo curPageURL(); ?>“ title=”Log in”>登录</a>
  3. <?php } else { ?>
  4. <a href=“http://这里填写退出登录链接” title=“登出”>登出</a><br />
  5. <a href=“http://这里填写后台链接” title=“管理”>管理</a>
  6. <?php } ?>

3、一路向北的优化

该方法无法完成退出后返回原来页面,将上面代码替换成如下代码即可:

  1. <?php $url_this = http://’.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];?>
  2. <?php if ( !$user_ID )  { ?>
  3. <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>
  4. <?php } else { ?>
  5. <a href=”<?php echo wp_logout_url( $url_this); ?>“ title=”注销”>注销</a>
  6. <a href=”<?php echo home_url( ‘/’ ); ?>wp-admin/” target=”_blank” title=”管理”>管理</a>
  7. <?php } ?>

通过添加一个$url_this来获取并返回当前页面。

4、说明:

经测试,该代码包和jQuery Colorbox、jQuery Lightbox等幻灯插件有冲突(经测试其与Lightbox 3兼容),使用时请注意,功夫好的话,可以自己修改。

演示见本站左上角,就不截图啦。

做人要厚道:露兜原文地址:http://www.ludou.org/wordpress-create-a-login-form-overlay.html

好,美女时间到:

 

 

 

 

相关文章

获取新版新浪微薄背景图片的方法

iP2主题,基于P2

又要出发了

前台发布文章好难啊

月亮小镇(Moon Township)重要更新——前台弹出文章发布框

评论框太烂了