Display A list of Admins

时间:2014-05-24 作者:Jeremy

我有一个功能可以显示网站上的所有用户,但我想知道是否有一种方法可以在单独的循环中显示管理员和贡献者?

我的当前功能:

function contributors() {
  global $wpdb;

  $authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users ORDER BY display_name");

  foreach($authors as $author) {
    echo "<li>";
    echo "<a href=\\"".get_bloginfo(\'url\')."/?author=";
    echo $author->ID;
    echo "\\">";
    echo get_avatar($author->ID);
    echo "</a>";
    echo \'<div>\';
    echo "<a href=\\"".get_bloginfo(\'url\')."/?author=";
    echo $author->ID;
    echo "\\">";
    the_author_meta(\'display_name\', $author->ID);
    echo "</a>";
    echo "</div>";
    echo "</li>";
  }
}

3 个回复
最合适的回答,由SO网友:Rajeev Vyas 整理而成

使用get_users 功能允许您按角色查询用户。

对于贡献者,

 $contributors = get_users(\'role=contributors\');
foreach($contributors as $contributors){
   // do something with contributors
}
对于管理员,

$admins = get_users(\'role=admin\');
   foreach($admins as $admins){
       // do something with admins
    }
将角色=*替换为所需的角色。

SO网友:Pieter Goosen

您还可以使用WP_User_Query 直接在模板文件中显示耦合到特定角色的用户列表。从codex来看,下面是一个显示所有管理员的工作示例

$args = array(
\'role\' => \'Administrator\'
);

// The Query
$user_query = new WP_User_Query( $args );

// User Loop
if ( ! empty( $user_query->results ) ) {
    foreach ( $user_query->results as $user ) {
        echo \'<p>\' . $user->display_name . \'</p>\';
    }
} else {
    echo \'No users found.\';
}
您可以对“贡献者”执行相同的操作

SO网友:Webloper

Try this -

$users = get_users(\'blog_id=1&orderby=display_name&role=administrator\');
foreach ($users as $user) {
    echo \'<li>\' . $user->user_email . \'</li>\';
} 

$users = get_users(\'blog_id=1&orderby=display_name&role=contributor\');
foreach ($users as $user) {
    echo \'<li>\' . $user->user_email . \'</li>\';
} 
结束