13397158231   jevian_ma@worldflying.cn

wordpress模板用户相关方法

2017-07-11 12:58:32

大家好,之前有一篇文章是写关于wordpress直接操作数据库的,但是当遇到需要快速开发的时候,不适合自己搭建数据库,直接使用wordpress的数据库是最快的开发方式。

下面我就先介绍一下常用的wordpress模板函数中关于注册登录以及退出登录的函数。

一、注册函数。

所谓注册,就是新建用户,wp_insert_user();

常用参数有

$args = array(

    'user_login' => $username,//登录用户名

    'user_pass' => $password,//登录密码

    'user_email' => $email,//用户的邮箱,注意,邮箱必须唯一,所有用户不能重复

    'display_name' => $display_name,//显示名

    'role' => $role,//用户角色

    'description' => $description//用户描述

);

如果注册成功,会返回用户ID,如果注册失败会返回wp_error对象。

下面有一段很简单的示例:

$args = array(

    'user_login' => "worldflying",

    'user_pass' => "worldflying",

);

$res = wp_insert_user($args);

if(is_wp_error($res)) {

    wp_die($res -> get_error_message());

}


二、登录用函数

登录所使用的函数是wp_signon()

$creds = array(

'user_login' => $username,//用户名

'user_password' => $password,//密码

'remember' => true//是否记住登录状态

}

如果注册成功,会返回wp_user对象,如果注册失败会返回wp_error对象。

下面有一段很简单的示例:

$creds = array(

'user_login' => "worldflying",

'user_password' => "worldflying",

'remember' => true

}

$user = wp_signon( $creds, false );

if ( is_wp_error($user)) {

    wp_die($user -> get_error_message());

}


三、判断当前是有有用户登录

这个函数比较简单,就是is_user_logged_in(),如果返回true,就说明当前有用户登录,否则返回false。

if(is_user_logged_in()) {

    echo '当前有用户登录';

} else {

    echo '当前没有用户登录';

}


四、获取当前登录用户的信息

在用户登录的情况下,直接执行wp_get_current_user(),获取返回值即可。

需要注意的是,这个函数无论是否用户有登录,返回的都是wp_user类型,只是如果当前没有用户登录,返回的wp_user类的userid为0。

通常这个函数与判断用户是否登录的函数结合使用,如:

if(is_user_logged_in()) {

    $user = wp_get_current_user();

}

echo '用户登录名: ' . $user->user_login . "n";

echo '用户电子邮箱: ' . $user->user_email . "n";

echo '用户显示名: ' . $user->display_name . "n";

echo '用户ID' . $user->ID . "n";


五、注销用户

注销用户这个函数也比较简单,甚至不需要判断他是否执行成功。

wp_clear_auth_cookie();

其实原理很简单,wordpress是通过cookie获取登录信息的。所以清除了所有相关cookie,也就退出登录了。


六、删除用户

这个函数比较特殊,他无法直接使用,需要先引入相关的库。

require("wp-admin/includes/user.php");

wp_delete_user($userid) 

优秀产品推荐:可编程网络IO控制器

上一篇:在docker中安装gitlab

下一篇:如何看待马云推出的无人超市?

联系我们

  • 地址:武汉市东湖高新开发区光谷总部国际1栋2412室
  • QQ:932773931
  • 电话:027-59761089-806
  • 手机:13397158231
  • 邮箱:jevian_ma@worldflying.cn

关注公众号

扫码添加微信

沃航(武汉)科技有限公司版权所有

备案号:鄂ICP备16014230号-1

本网站由提供CDN加速/云存储服务