如何使用GET_USERS获取用户描述?

时间:2012-10-05 作者:nicolas

我正在使用这段代码列出用户及其信息。我的问题是描述没有显示出来。显然,这是因为描述位于“user\\u meta”下,而不是“users”。但我该怎么解决呢?

<?php
    $blogusers = get_users(\'include=2,3,4,5,6,7,8\');
    foreach ($blogusers as $user) {
        echo \'<li>\'
        . get_avatar($user->ID, 120) .
        \'<br />\'
        . $user->display_name .
        \'<br />\'
        . $user->user_email .
        \'<br />\'
        . $user->user_description .
        \'</li>\';
    }
?>

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

本地人get_users() 函数返回一个用户对象数组,每个对象都处于保留状态

   [ID] => 1
   [user_login] => admin
   [user_pass] => $P$Bxudi6gJMk2GRt2ed3xvZ06c1BPZXi/
   [user_nicename] => admin
   [user_email] => [email protected]
   [user_url] => http://localhost/
   [user_registered] => 2010-06-29 07:08:55
   [user_activation_key] => 
   [user_status] => 0
   [display_name] => Richard Branson
如你所见user_description 不是此对象的一部分,因为它存储在数据库中的另一个表中(usermeta 作为反对users).因此$user->user_description 使用get_user_meta($user->ID, \'description\', true)

<?php
$blogusers = get_users(\'include=2,3,4,5,6,7,8\');
foreach ($blogusers as $user) {
    echo \'<li>\'
    . get_avatar($user->ID, 120) .
    \'<br />\'
    . $user->display_name .
    \'<br />\'
    . $user->user_email .
    \'<br />\'
    . get_user_meta($user->ID, \'description\', true) .
    \'</li>\';
}

SO网友:404ryannotfound

为了防止任何人(就像我一样)遇到此线程,您可以扩展此线程以显示自定义字段。

将此添加到主题functions.php:

// Extend user profile
// CUSTOM USER PROFILE FIELDS
function my_custom_userfields( $contactmethods ) {

// ADD CONTACT CUSTOM FIELDS
$contactmethods[\'contact_phone_office\']     = \'Office Phone\';
$contactmethods[\'contact_phone_mobile\']     = \'Mobile Phone\';

// ADD ADDRESS CUSTOM FIELDS
$contactmethods[\'address_line_1\']       = \'Address Line 1\';
$contactmethods[\'address_line_2\']       = \'Address Line 2 (optional)\';
$contactmethods[\'address_city\']         = \'City\';
$contactmethods[\'address_state\']        = \'State\';
$contactmethods[\'address_postcode\']      = \'Postcode\';

// ADD SOCIAL CUSTOM FIELDS
$contactmethods[\'contact_twitter\']       = \'Twitter\';
$contactmethods[\'contact_facebook\']      = \'Facebook\';
$contactmethods[\'contact_linkedin\']      = \'LinkedIn\';

return $contactmethods;
}
add_filter(\'user_contactmethods\',\'my_custom_userfields\',10,1);
然后只需在foreach 打电话,比如:

echo \'<li>\'. get_avatar($user->ID, 120) .\'<br />\'. $user->display_name .\'<br /><a href="mailto:\'. $user->user_email .\'">\'. $user->user_email .\'</a><br />\'. get_user_meta($user->ID, \'description\', true) .\'<br />\'. get_user_meta($user->ID, \'contact_twitter\', true) .\' - \'. get_user_meta($user->ID, \'contact_facebook\', true) .\' - \'. get_user_meta($user->ID, \'contact_linkedin\', true) .\'</li>\';
我希望这是可以张贴在这里。这有点离题,但希望能有所帮助(如果不是mods,请删除)。

结束

相关推荐

使用wp_Dropdown_USERS和SELECTED()函数?

我有一个自定义的元框,其中有一个下拉列表,通过WP\\u dropdown\\u users显示所有WP用户。它保存了使用post选择的WP用户,以便所有工作正常。但是,是否有办法使其在返回编辑时在下拉列表中显示选定的用户,而不是列表中的第一个用户?我已经将selected()函数用于另一个下拉列表,但我已经动态创建了它。我尝试用wp\\u dropdown\\u用户实现selected(),但没有成功,所以我不确定这是否可行?谢谢