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调用Linux的命令行执行文件压缩命令
Jan 27 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
Jun 21 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
Jul 22 PHP
PHP socket 模拟POST 请求实例代码
Jul 18 PHP
php验证身份证号码正确性的函数
Jul 20 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
Yii框架引入coreseek分页功能示例
Feb 08 PHP
PHP echo()函数讲解
Feb 15 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 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中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
php 强制下载文件实现代码
2013/10/28 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
php短址转换实现方法
2015/02/25 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
Yii2实现UploadedFile上传文件示例
2017/02/15 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
JavaScript中的闭包原理分析
2010/03/08 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
js实现登录框鼠标拖拽效果
2017/03/09 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
python列表推导和生成器表达式知识点总结
2020/01/10 Python
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
优秀护士先进事迹
2014/05/08 职场文书
庆祝三八妇女节标语
2014/10/09 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python