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 相关文章推荐
福利彩票幸运号码自动生成器
Oct 09 PHP
PR值查询 | PageRank 查询
Dec 20 PHP
Discuz板块横排显示图片的实现方法
May 28 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 PHP
PHP安全性漫谈
Jun 28 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
php获取字段名示例分享
Mar 03 PHP
ThinkPHP采用原生query实现关联查询left join实例
Dec 02 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 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中的字符串函数
2006/10/09 PHP
php远程下载类分享
2016/04/13 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
javascript延时加载之defer测试
2012/12/28 Javascript
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
关于使用js算总价的问题
2017/06/23 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
简单理解Python中基于生成器的状态机
2015/04/13 Python
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
Python文件操作基础流程解析
2020/03/19 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
构建高效的python requests长连接池详解
2020/05/02 Python
如何在sublime编辑器中安装python
2020/05/20 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
python 实用工具状态机transitions
2020/11/21 Python
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
canvas简单连线动画的实现代码
2020/02/04 HTML / CSS
Koral官方网站:女性时尚运动服
2019/04/10 全球购物
Ajax请求总共有多少种Callback
2016/07/17 面试题
建筑专业自我鉴定
2013/10/22 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL