获取GET_USERS函数的用户ID的最佳方式是什么?

时间:2011-08-04 作者:m-torin

我正在尝试按角色类型创建一个用户表。获取用户id的最佳实践方法是什么?我的目标是首先打印每个用户&;姓氏、用户名和电子邮件。

我现在拥有的:

$get_admins = array(
    \'blog_id\' => $GLOBALS[\'blog_id\'],
    \'role\' => \'administrator\',
);

$blogusers = get_users($get_admins);
foreach ($blogusers as $user) { 
$userid = get_userdata($bloguser->user_id);
$user_info = get_userdata($userid);

    echo \'<tr>\';
        echo \'<td>\'. $user_info->user_firstname .\'</td>\';
        echo \'<td>\'. $user_info->last_name .\'</td>\';
        echo \'<td>\'. $user->user_login .\'</td>\';
        echo \'<td>\'. $user->user_email .\'</td>\';
    echo \'</tr>\';
}
注意:在我上面的示例中,获取用户id不起作用。

法典参考:get_users()

2 个回复
最合适的回答,由SO网友:scribu 整理而成

您的代码无法工作,因为您正在使用$bloguser 而不是$user.

调用get\\u userdata()没有任何意义,因为get\\u users()已经返回用户对象:

foreach ($blogusers as $user) {
    echo \'<tr>\';
        echo \'<td>\'. $user->first_name .\'</td>\';
        echo \'<td>\'. $user->last_name .\'</td>\';
        echo \'<td>\'. $user->user_login .\'</td>\';
        echo \'<td>\'. $user->user_email .\'</td>\';
    echo \'</tr>\';
}

SO网友:AjayShanker

您的代码不工作,因为foreachget_userdata($bloguser->user_id); 线$bloguser 是未知的对象变量。请尝试此代码:

$get_admins = array(
    \'role\'    => \'admin\',
    \'orderby\' => \'user_nicename\',
    \'order\'   => \'ASC\'
);
$blogusers  = get_users( $get_admins );
echo \'<ul>\';
foreach ( $blogusers as $user ) {
    echo \'<li>\' . $user->first_name . \'</li>\';
    echo \'<li>\' . $user->last_name  . \'</li>\';
    echo \'<li>\' . $user->user_login . \'</li>\';
    echo \'<li>\' . $user->user_email . \'</li>\';
}
echo \'</ul>\';

结束

相关推荐

Wp_USERS和wp_USERMETA表有什么不同?

两者之间的区别是什么wp_users 和wp_usermeta 桌子?我使用Email Login plugin 我刚刚注意到,如果用户在个人资料页面中更改了他的电子邮件,它会保存在wp_usermeta 而不是在桌子上wp_users 桌子这是一个问题,因为用户必须使用第一封电子邮件才能成功登录,如果使用新的(更改的)电子邮件,则无法访问。有人能解释一下为什么以及如何将用户电子邮件保存在wp_users 桌子