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相当简单的分页类
Oct 02 PHP
elgg 获取文件图标地址的方法
Mar 20 PHP
php empty()与isset()区别的详细介绍
Jun 17 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
php生成rss类用法实例
Apr 14 PHP
php判断表是否存在的方法
Jun 18 PHP
PHP中创建和验证哈希的简单方法实探
Jul 06 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
php解析url并得到url中的参数及获取url参数的四种方式
Oct 26 PHP
php ajax实现文件上传进度条
Mar 29 PHP
深入解析PHP中SESSION反序列化机制
Mar 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
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
php self,$this,const,static,-&amp;gt;的使用
2009/10/22 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
清空上传控件input file的值
2010/07/03 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
javascript实现留言板功能
2020/02/08 Javascript
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中super关键字用法实例分析
2015/05/28 Python
Python 中 Meta Classes详解
2016/02/13 Python
Python的IDEL增加清屏功能实例
2017/06/19 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
利用python编写一个图片主色转换的脚本
2017/12/07 Python
tensorflow实现测试时读取任意指定的check point的网络参数
2020/01/21 Python
了解一下python内建模块collections
2020/09/07 Python
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
教育实习生的自我评价分享
2013/11/21 职场文书
大学生村官承诺书
2014/03/28 职场文书
高中生班主任评语
2014/04/25 职场文书
工资证明范本
2015/06/12 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python