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 相关文章推荐
php用数组返回无限分类的列表数据的代码
Aug 08 PHP
Zend的AutoLoad机制介绍
Sep 27 PHP
PHP生成随机用户名和密码的实现代码
Feb 27 PHP
PHP实现删除非站内外部链接实例代码
Jun 17 PHP
php实现将Session写入数据库
Jul 26 PHP
PHP常用设计模式之委托设计模式
Feb 13 PHP
Apache无法自动跳转却显示目录的解决方法
Nov 30 PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 PHP
php简单中奖算法(实例)
Aug 15 PHP
phpStudy 2016 使用教程详解(支持PHP7)
Oct 18 PHP
kindeditor 加入七牛云上传的实例讲解
Nov 12 PHP
php封装的page分页类完整实例代码
Feb 01 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
最简单的PHP程序--记数器
2006/10/09 PHP
?繁体转换的class
2006/10/09 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
Web开发之JavaScript
2012/03/29 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
Python读取mp3中ID3信息的方法
2015/03/05 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
Django values()和value_list()的使用
2020/03/31 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
python实现数字炸弹游戏
2020/07/17 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
python中str内置函数用法总结
2020/12/27 Python
python实现跨年表白神器--你值得拥有
2021/01/04 Python
自动化专业个人求职信范文
2013/11/29 职场文书
幼儿园家长寄语
2014/04/02 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
请学会珍惜眼前,因为人生没有下辈子!
2019/11/12 职场文书
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android