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之数据库操作详解及乱码解决!
Jan 02 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
php中apc缓存使用示例
Dec 25 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
php通过记录IP来防止表单重复提交方法分析
Dec 16 PHP
php计算数组相同值出现次数的代码(array_count_values)
Jan 20 PHP
php中explode的负数limit用法分析
Feb 27 PHP
php实现可逆加密的方法
Aug 11 PHP
php精确的统计在线人数的方法
Oct 21 PHP
php等比例缩放图片及剪切图片代码分享
Feb 13 PHP
Yii支持多域名cors原理的实现
Dec 05 PHP
Laravel如何实现自动加载类
Oct 14 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
Banner程序
2006/10/09 PHP
mysql 搜索之简单应用
2007/04/27 PHP
php变量作用域的深入解析
2013/06/03 PHP
PHP中的Memcache详解
2014/04/05 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
学习面向对象之面向对象的术语
2010/11/30 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
django如何连接已存在数据的数据库
2018/08/14 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
副厂长岗位职责
2014/02/02 职场文书
小学生检讨书大全
2014/02/06 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
音乐课外活动总结
2015/05/09 职场文书
计划生育目标责任书
2015/05/09 职场文书
教师节联欢会主持词
2015/07/04 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python