WordPress中登陆后关闭登陆页面及设置用户不可见栏目

 更新时间:2015年12月31日 17:31:43   作者:露兜  
这篇文章主要介绍了WordPress中登陆后关闭登陆页面及设置用户不可见栏目的方法,是多用户模式下比较实用的两个功能,需要的朋友可以参考下

用户登录后关闭登录页面
WordPress默认的登录页面是:http://WP目录/wp-login.php,登录后会自动跳转到:http://WP目录/wp-admin。现在问题来了,如果用户已经登录,但是它又打开wp-login.php页面,会出现什么样的情况呢?答案是,WordPress不会做任何处理,还是直接给你显示登录窗口:

20151231173104519.png (333×339)

面对如此冰冷的登录框,用户会感到困惑,我刚刚不是已经登录了吗?怎么还要我输入用户名和密码?所以,用户登录后,我们不该让用户再看到登录框。解决此问题的办法有两个:

去除登录链接

     确保页面中不再出现wp-login.php的链接。如用户没有登录,网页中我们可以这样提示:

20151231173123162.png (126×40)

用户登录后,我们将上面的登录和注册链接删除,换成:

20151231173139540.png (164×43)

 这样不仅可以让用户对是否已经登录一目了然,而且不会误点击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 ); ?>

另外,当自定义栏目的值是一个数组时,在文章编辑页面,该栏目对用户也是不可见的,即使自定义栏目的名称前没加下划线。

相关文章

  • Web端测试PHP代码函数覆盖率解决方案

    Web端测试PHP代码函数覆盖率解决方案

    这篇文章主要为大家介绍了Web端测试PHP代码函数覆盖率解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • PHP排序算法之快速排序(Quick Sort)及其优化算法详解

    PHP排序算法之快速排序(Quick Sort)及其优化算法详解

    这篇文章主要介绍了PHP排序算法之快速排序(Quick Sort)及其优化算法,结合实例形式分析了php快速排序的原理、实现方法,并分析了各种优化技巧与操作注意事项,需要的朋友可以参考下
    2018-04-04
  • PHP SQLite类

    PHP SQLite类

    PHP SQLite类代码。
    2009-05-05
  • php设计模式之简单工厂模式详解

    php设计模式之简单工厂模式详解

    这篇文章主要介绍了php设计模式的简单工厂模式,又称为静态工厂方法模式,是一种重要的PHP设计模式,需要的朋友可以参考下
    2014-09-09
  • php时间函数用法分析

    php时间函数用法分析

    这篇文章主要介绍了php时间函数用法,结合实例形式分析了php时间戳相关函数time,mktime,date及strtotime的使用方法,非常简单实用,需要的朋友可以参考下
    2016-05-05
  • PHP 引用的概念

    PHP 引用的概念

    这篇文章主要介绍了PHP的中引用的概念,帮助大家更好的理解和学习使用PHP,感兴趣的朋友可以了解下
    2021-04-04
  • PHP通过表单或URL传递值的示例代码

    PHP通过表单或URL传递值的示例代码

    在PHP中,通过表单(Form)或URL(通过GET方法)传递值是一种常见的数据交互方式,这种方式广泛应用于Web开发中以实现页面间的数据通信,本文将介绍PHP通过表单或URL传递值的示例代码,需要的朋友可以参考下
    2024-09-09
  • PHP简单处理表单输入的特殊字符的方法

    PHP简单处理表单输入的特殊字符的方法

    这篇文章主要介绍了PHP简单处理表单输入的特殊字符的方法,涉及PHP中trim(),strip_tags(),htmlspecialchars()及addslashes()等函数的使用技巧,需要的朋友可以参考下
    2016-02-02
  • PHP内核探索:变量存储与类型使用说明

    PHP内核探索:变量存储与类型使用说明

    这篇文章主要介绍了PHP内核探索:变量存储与类型的相关资料,需要的朋友可以参考下
    2014-01-01
  • PHPMailer的主要功能特点和简单使用说明

    PHPMailer的主要功能特点和简单使用说明

    本篇文章主要是对PHPMailer的主要功能特点和简单使用说明进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02

最新评论