WordPress中登陆后关闭登陆页面及设置用户不可见栏目


Posted in PHP onDecember 31, 2015

用户登录后关闭登录页面
WordPress默认的登录页面是:http://WP目录/wp-login.php,登录后会自动跳转到:http://WP目录/wp-admin。现在问题来了,如果用户已经登录,但是它又打开wp-login.php页面,会出现什么样的情况呢?答案是,WordPress不会做任何处理,还是直接给你显示登录窗口:

WordPress中登陆后关闭登陆页面及设置用户不可见栏目

面对如此冰冷的登录框,用户会感到困惑,我刚刚不是已经登录了吗?怎么还要我输入用户名和密码?所以,用户登录后,我们不该让用户再看到登录框。解决此问题的办法有两个:

去除登录链接

     确保页面中不再出现wp-login.php的链接。如用户没有登录,网页中我们可以这样提示:

WordPress中登陆后关闭登陆页面及设置用户不可见栏目

用户登录后,我们将上面的登录和注册链接删除,换成:

WordPress中登陆后关闭登陆页面及设置用户不可见栏目

 这样不仅可以让用户对是否已经登录一目了然,而且不会误点击wp-login.php进入登录界面。PHP编程只需用到WordPress的is_user_logged_in()函数判断用户是否已经登录就可以实现。

wp-login.php做跳转

     有些时候,用户登录后还是会偶然点击到wp-login.php登录链接,如浏览器的地址栏。我们这时就该做些补救措施了,不要不作为让登录框显示在用户面前。这里介绍的方法是,当用户已经登录,但是又打开wp-login.php链接,我们就让他跳转到后台首页wp-admin,具体方法是,在当前主题的functions.php中加入以下php代码:

function redirect_logged_user() {
 if(is_user_logged_in() && (empty($_GET['action']) || $_GET['action'] == 'login')) {
  wp_redirect( admin_url() );
  exit;
 }
}
add_action( 'login_init', 'redirect_logged_user' );

创建对用户不可见的自定义栏目
如果你是一个插件或者主题开发者,应该经常会使用自定义栏目(或者叫自定义字段)来存储你的插件或主题的相关参数,有趣的是,在WordPress后台的文章编辑页面或使用the_meta()模板函数时,WordPress不会显示名称以 _(下划线)开头的自定义栏目。

对一些不想让用户看到,更不想让用户修改的自定义栏目,我们可以使用此技巧,不仅让文章编辑页面的自定义栏目简约些,而且不会让用户看到不熟悉的自定义栏目而感到困惑,甚至胡乱修改。下面是个使用范例:

<?php add_post_meta( 68, '_ludou', '露兜博客', true ); ?>

这样就给id为68的文章添加了名称为 _ludou,值为露兜博客的唯一的自定义栏目,而且在文章编辑页面用户也看不到。平常情况下,我们可能是这样使用的,这样在文章编辑页的自定义了栏目中就能看到 ludou 字段:

<?php add_post_meta( 68, 'ludou', '露兜博客', true ); ?>

另外,当自定义栏目的值是一个数组时,在文章编辑页面,该栏目对用户也是不可见的,即使自定义栏目的名称前没加下划线。

PHP 相关文章推荐
用Zend Encode编写开发PHP程序
Oct 09 PHP
IIS6的PHP最佳配置方法
Mar 19 PHP
php实现的获取网站备案信息查询代码(360)
Sep 23 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
PHP把数字转成人民币大写的函数分享
Jun 30 PHP
destoon实现底部添加你是第几位访问者的方法
Jul 15 PHP
destoon实现VIP排名一直在前面排序的方法
Aug 21 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
ThinkPHP模型详解
Jul 27 PHP
PHP未登录自动跳转到登录页面
Dec 21 PHP
php高清晰度无损图片压缩功能的实现代码
Dec 09 PHP
php实现登录页面的简单实例
Sep 29 PHP
WordPress中获取指定分类及其子分类下的文章数目
Dec 31 #PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
Dec 31 #PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
Dec 31 #PHP
简单了解将WordPress中的工具栏移到底部的小技巧
Dec 31 #PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 #PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 #PHP
详解Window7 下开发php扩展
Dec 31 #PHP
You might like
set_include_path在win和linux下的区别
2008/01/10 PHP
swfupload 多文件上传实现代码
2008/08/27 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
js 监控iframe URL的变化实例代码
2017/07/12 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
python文件操作整理汇总
2014/10/21 Python
python实现的文件同步服务器实例
2015/06/02 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
Calphalon美国官网:美国顶级锅具品牌
2020/02/05 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
财务出纳员岗位职责
2013/11/26 职场文书
安全施工责任书
2014/08/25 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
MySQL外键约束(Foreign Key)案例详解
2022/06/28 MySQL