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 相关文章推荐
mysql总结之explain
Feb 27 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
Jun 06 PHP
PHP无限分类(树形类)
Sep 28 PHP
PHP源码分析之变量的存储过程分解
Jul 03 PHP
PHP四种基本排序算法示例
Apr 09 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
Jun 13 PHP
详解PHP防止直接访问.php 文件的实现方法
Jul 28 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
Oct 21 PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 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
WAR3重制版DOTA 5V5初体验
2020/04/09 DOTA
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
Cookie 注入是怎样产生的
2009/04/08 Javascript
js 操作css实现代码
2009/06/11 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
详解node中创建服务进程
2017/05/09 Javascript
详解javascript replace高级用法
2019/02/17 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
2019/06/05 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
Python中标准库OS的常用方法总结大全
2017/07/19 Python
Python简单读取json文件功能示例
2017/11/30 Python
Python sorted排序方法如何实现
2020/03/31 Python
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
《长城和运河》教学反思
2014/04/14 职场文书
意向协议书
2015/01/27 职场文书
python删除csv文件的行列
2021/04/06 Python
BCL经典机 SONY ICF-5900W电路分析
2022/04/24 无线电