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 相关文章推荐
深入了解php4(2)--重访过去
Oct 09 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
PHP批量检测并去除文件BOM头代码实例
May 08 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
php输入数据统一类实例
Feb 23 PHP
php curl请求信息和返回信息设置代码实例
Apr 27 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
Jul 06 PHP
Yii rules常用规则示例
Mar 15 PHP
PHP实现递归目录的5种方法
Oct 27 PHP
CI框架无限级分类+递归的实现代码
Nov 01 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 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学习教程之第2天
2008/06/15 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
javascript实现二分查找法实现代码
2007/11/12 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
JQuery 写的个性导航菜单
2009/12/24 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
React Native自定义控件底部抽屉菜单的示例
2018/02/08 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
在Python中使用Neo4j数据库的教程
2015/04/16 Python
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
澳大利亚现代波西米亚风格女装网站:Bohemian Traders
2018/04/16 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
农村婚庆司仪主持词
2014/03/15 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
关于感恩的演讲稿200字
2014/08/26 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
公司员工安全协议书
2014/11/21 职场文书
2014年个人技术工作总结
2014/12/08 职场文书
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题
DE1103使用报告
2022/04/05 无线电