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 25 PHP
通达OA公共代码 php常用检测函数
Dec 14 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
php时间戳转换的示例
Mar 31 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
Yii核心组件AssetManager原理分析
Dec 02 PHP
PHP判断是否为空的几个函数对比
Apr 21 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
Mar 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
ftp类(example.php)
2006/10/09 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
jQuery实现跨域
2015/02/03 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
JS实现双击内容变为可编辑状态
2017/03/03 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
值得收藏的vuejs安装教程
2017/11/21 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
linux 下实现python多版本安装实践
2014/11/18 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
python 瀑布线指标编写实例
2020/06/03 Python
Python eval函数原理及用法解析
2020/11/14 Python
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
服务生自我鉴定
2014/01/22 职场文书
二年级语文教学反思
2014/02/02 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
导游个人求职信范文
2014/03/23 职场文书
群众路线教育党课主持词
2014/04/01 职场文书
摄影展策划方案
2014/06/02 职场文书
欢迎横幅标语
2014/06/17 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
2014年项目工作总结
2014/11/24 职场文书
统计工作个人总结
2015/03/03 职场文书
新年祝酒词大全
2015/08/11 职场文书
干部理论学习心得体会
2016/01/21 职场文书
导游词之镜泊湖
2019/12/09 职场文书
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python