是的,所有WordPress多站点用户进入{$wpdb->prefix}users
桌子这样,他们就形成了一个用户池,每个用户都可以访问网络中的一个或多个站点。
您可以通过使用获取给定站点的用户get_users()
, 可以将给定站点的ID作为参数:
// get users for site example.com/my-site
$args = array(
\'blog_id\' = get_id_from_blogname( \'my-site\' ),
);
$users_for_site = get_users( $args );
如果您使用Multisite
blog_id
参数未设置,您将获得当前站点的用户。
默认情况下,比较电子邮件地址,get_users()
返回的数组WP_User
objects, 因此,您应该能够比较电子邮件地址列表(假定包含在数组中$my_user_emails
在下面的代码中)返回到get_users()
:
// uses $users_for_site from the previous code block
$no_email_entered = array();
foreach( $users_for_site as $user ) {
if( ! in_array( $user->user_email, $my_user_emails ) ) {
$no_email_entered[] = $user->user_email;
}
}
// $no_email_entered should now contain all the email addresses
// in the list of site users that are *not* in your table
参考文献
get_users()
get_id_from_blogname()
WP_User
class