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连接mssql数据库的几种方法
Feb 21 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
Aug 09 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
php实现用于计算执行时间的类实例
Apr 18 PHP
PHP图像裁剪缩略裁切类源码及使用方法
Jan 07 PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
php获得刚插入数据的id 的几种方法总结
May 31 PHP
PHP getDocNamespaces()函数讲解
Feb 03 PHP
YII框架行为behaviors用法示例
Apr 26 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
php实现图片压缩处理
Sep 09 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
Look And Say 序列php实现代码
2011/05/22 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
js实现大转盘抽奖游戏实例
2015/06/24 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
python使用代理ip访问网站的实例
2018/05/07 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
学习Django知识点分享
2019/09/11 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
夜大毕业生自我评价分享
2013/11/10 职场文书
校园新闻广播稿
2014/01/10 职场文书
测试工程师职业规划书
2014/02/06 职场文书
高考备战决心书
2014/03/11 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
机房搬迁方案
2014/05/01 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
初一年级组工作总结
2015/08/12 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js
python超详细实现完整学生成绩管理系统
2022/03/17 Python