如何通过博客ID获取站点管理员

时间:2012-06-21 作者:Ken

我想通过博客id显示站点管理员,而不是超级管理员。这会输出站点管理员id和头像。如何做到这一点?

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

In shortcode form:

/**
 * Shortcode for listing all admin users of a Multisite site
 *
 * Usage: [siteadmins blog="1"]
 */
add_shortcode(\'siteadmins\', \'wpse_55991_site_admins\');

function wpse_55991_site_admins($atts, $content = null)
{   
    $site_admins = \'\';
    switch_to_blog( $atts[\'blog\'] );
    $users_query = new WP_User_Query( array( 
                \'role\' => \'administrator\', 
                \'orderby\' => \'display_name\'
                ) );
    $results = $users_query->get_results();
    foreach($results as $user)
    {
        $site_admins .= \'ID: \' . $user->ID . \'<br />\';
        $site_admins .= get_avatar( $user->user_email, 150 ) . \'<br /><br />\';
    }
    restore_current_blog();
    return $site_admins;
}


/* - - - - - EXTRA CODE - - - - - - */

/**
 * Shortcode for listing all admin users of all Multisite sites
 *
 * Usage: [allsiteadmins]
 */
add_shortcode(\'allsiteadmins\', \'wpse_55991_all_site_admins\');

function wpse_55991_all_site_admins($atts, $content = null)
{   
    global $wpdb;
    $blogs = $wpdb->get_results($wpdb->prepare("
        SELECT blog_id
        FROM {$wpdb->blogs}
        WHERE site_id = \'{$wpdb->siteid}\'
        AND spam = \'0\'
        AND deleted = \'0\'
        AND archived = \'0\'
        AND mature = \'0\' 
        AND public = \'1\'
    "));
    $site_admins = \'\';
    foreach ($blogs as $blog) 
    {
        switch_to_blog( $blog->blog_id );
        $users_query = new WP_User_Query( array( 
                    \'role\' => \'administrator\', 
                    \'orderby\' => \'display_name\'
                    ) );
        $results = $users_query->get_results();
        $site_admins .= \'Blog ID: \' . $blog->blog_id . \'<pre>\' . print_r($results,true) . \'</pre>\';
    }
    restore_current_blog();
    return $site_admins;
}
结束

相关推荐

在WordPress内部,phpMyAdmin在哪里?

即使我已经编码(主要是Java和Python)多年了,我对web应用程序和PHP还是完全陌生的。如果这是一个新手问题,请原谅我。我和一个管理所有WordPress主机的朋友有一个WordPress博客。现在我的朋友决定离开,他给我发了博客备份:所有WordPress文件</中的数据库转储dump.log.我已经购买了主机,可以恢复旧博客。在寻找如何再次建立博客时,我到处都能找到“从phpMyAdmin还原数据库”的指导原则,但我不知道从我的备份中在哪里可以启动phpMyAdmin。请向我解释我必须做