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 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
提高php运行速度的一些小技巧分享
Jul 03 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
Sep 26 PHP
PHP中unset,array_splice删除数组中元素的区别
Jul 28 PHP
php保存任意网络图片到服务器的方法
Apr 14 PHP
PHP中使用array函数新建一个数组
Nov 19 PHP
Yii控制器中操作视图js的方法
Jul 04 PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 PHP
php获取数据库结果集方法(推荐)
Jun 01 PHP
详解php实现页面静态化原理
Jun 21 PHP
PHP实现的简单路由和类自动加载功能
Mar 13 PHP
laravel5环境隐藏index.php后缀(apache)的方法
Oct 12 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
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
PHP getallheaders无法获取自定义头(headers)的问题
2016/03/23 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
jquery.validate使用详解
2016/06/02 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
es6 for循环中let和var区别详解
2020/01/12 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
简单介绍Python中的len()函数的使用
2015/04/07 Python
Python脚本获取操作系统版本信息
2016/12/17 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
Python any()函数的使用方法
2019/10/28 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
俄罗斯美容和健康网上商店:Созвездие Красоты
2019/07/23 全球购物
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
静心口服夜广告词
2014/03/20 职场文书
兴趣小组活动总结
2014/05/05 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
另类冲刺标语
2014/06/24 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技