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 相关文章推荐
用缓存实现静态页面的测试
Dec 06 PHP
基于wordpress主题制作的具体实现步骤
May 10 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
linux下编译安装memcached服务
Aug 03 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
php读取txt文件并将数据插入到数据库
Feb 23 PHP
PHP读书笔记_运算符详解
Jul 01 PHP
PHP中命名空间的使用例子
Mar 22 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 PHP
50个优秀经典PHP算法大集合 附源码
Aug 26 PHP
详解使用php-cs-fixer格式化代码
Sep 16 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版(5)
2006/10/09 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
PHP简单实现断点续传下载的方法
2015/09/25 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
JS+canvas动态绘制饼图的方法示例
2017/09/12 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
Python通过正则表达式选取callback的方法
2015/07/18 Python
利用Python破解斗地主残局详解
2017/06/30 Python
浅谈python可视化包Bokeh
2018/02/07 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
pandas实现选取特定索引的行
2018/04/20 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
公司出纳岗位职责
2013/12/07 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
投资意向书范本
2014/04/01 职场文书
保证书格式范文
2014/04/28 职场文书
找规律教学反思
2016/02/23 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
工程移交协议书
2016/03/24 职场文书
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫