如何获得在WordPress多站点的所有管理员(How to get all admins of m

2019-09-26 08:06发布

如何获得多站点的管理员都在WordPress。 我对这个我陷在自定义代码为获得多点的所有管理员在主网站上创建自定义插件。 对于前。 我的主要网站是:wyz.com和我的第二个站点是:xyz.com/demo。 主站管理是“ABC”和“xyz.com/demo”网站管理员是“ABCDE”。 现在,我如何让“ABCDE”管理我的主要网站。

在我的生活我的网站目前有6K管理员。 所以,我很难得到这一点。 我在多站点WordPress的新。

Answer 1:

要获得从子网站的数据,您首先需要切换到使用现场switch_to_blog()函数。 然后,你火什么的查询,它会给仅从该网站的记录。 不要忘了将它恢复到目前的网站,一旦你从子站点的数据。 你可以使用恢复它restore_current_blog()函数。

为了让所有站点的所有管理员用户,您需要执行如下:

1)使用wp_get_sites()函数来获取所有站点的blog_id。

2)一旦你获得了blog_id,您需要执行下面的循环得到每个站点的管理员用户。

假设你得到$blog作为阵列blog_idswp_get_sites()函数

foreach ($blogs as $blog) 
    {
        switch_to_blog( $blog->blog_id ); // blog id which u got from wp_get_sites() function
        $users_query = new WP_User_Query( array( 
                    'role' => 'administrator', 
                    'orderby' => 'display_name'
                    ) );  // query to get admin users
        $results = $users_query->get_results();
        $site_admins .= 'Blog ID: ' . $blog->blog_id . '<pre>' . print_r($results,true) . '</pre>';
    }
    restore_current_blog();


文章来源: How to get all admins of multisite in wordpress