WordPress根据用户名获取用户id的两种方式

  • 一是直接操作数据库,通过数据库查询找到我们需要的用户id
  • 二是通过WordPress函数查询用户所有数据,然后输出id字段。其实前者就是后者的封装,下面我们看看这两种方式的实现代码。

方式一,查数据库获得用户id

function get_user_id($user=''){
 $user="'".$user."'";
 global $wpdb;
 $user_ids = $wpdb->get_col("SELECT ID FROM $wpdb->users WHERE user_login = $user ORDER BY ID");
 foreach($user_ids as $user_id){
 return $user_id;
 }
}

将上面的代码放在functions.php文件中,使用<?php echo get_user_id($user); ?>输出用户id。

方式二,WordPress函数查询用户id

function get_user_id($user=''){
 $author_obj = get_user_by('login', $user);
return $author_obj->ID;
}

使用方式与方式一的一样,核心代码只有两句get_user_by与$author_obj->ID,与方式一相比,明显代码简洁很多,建议使用第二种方式获取用户id。

get_user_by使用说明
get_user_by( string $field, int|string $value )
按指定字段检索用户信息。

参数解释

  • $field
    (字符串) (必须) 用户检索的字段. id | ID | slug | email | login.
  • $value
    (整型|字符串) (必须) 检索字段的值.  user ID, slug, email address, or login name.

返回值

(WP_User|false) 成功返回WP_User对象,失败返回false。

简单使用

$user = get_user_by( ’email’, ‘user@example.com’ );
echo ‘User is ‘ . $user->first_name . ‘ ‘ . $user->last_name;

本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请留言处理。

给TA打赏
共{{data.count}}人
人已打赏
API玩站

WordPress开发API接口

2023-2-23 19:16:14

AJAX玩站

wordpress处理ajax请求

2023-2-23 19:22:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧