如何在wordpress中获取多站点的所有管理员。为此创建自定义插件,我被困在自定义代码中,以便在主网站中获取多站点的所有管理员。为了前夫。我的主要网站是: wyz.com,我的第二个网站是: xyz.com/demo。主要网站管理是"abc“和”XYZ.com/演示“网站管理是”abc is“。现在我如何得到“abcde德”管理在我的主要网站。
在我的现场,我现在有6k管理员。所以我很难得到这个。我是新的多站点wordpress。
发布于 2017-10-30 12:47:18
要从任何子站点获取数据,首先需要使用博客()函数切换到该站点。然后,无论您启动的查询,它将只提供从该网站的记录。当您从子站点获得数据后,不要忘记将其还原到当前站点。您可以使用博客()函数还原它。
要获得所有站点的所有管理用户,您需要执行以下操作:
1)利用场址()函数获取所有站点的blog_id。
2)获得blog_id后,需要执行以下循环来获取每个站点的管理用户。
假设从$blog函数获得blog_ids数组为wp_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();https://stackoverflow.com/questions/47009641
复制相似问题