wp_get_users_with_no_role( int|null $site_id = null ): string[]

In this article

Gets the user IDs of all users with no role on this site.

Parameters

$site_idint|nulloptional
The site ID to get users with no role for. Defaults to the current site.

Default:null

Return

string[] Array of user IDs as strings.

Source

function wp_get_users_with_no_role( $site_id = null ) {	global $wpdb;	if ( ! $site_id ) {	$site_id = get_current_blog_id();	}	$prefix = $wpdb->get_blog_prefix( $site_id );	if ( is_multisite() && get_current_blog_id() !== $site_id ) {	switch_to_blog( $site_id );	$role_names = wp_roles()->get_names();	restore_current_blog();	} else {	$role_names = wp_roles()->get_names();	}	$regex = implode( '|', array_keys( $role_names ) );	$regex = preg_replace( '/[^a-zA-Z_\|-]/', '', $regex );	$users = $wpdb->get_col(	$wpdb->prepare(	"SELECT user_id	FROM $wpdb->usermeta	WHERE meta_key = '{$prefix}capabilities'	AND meta_value NOT REGEXP %s",	$regex	)	);	return $users; } 

Changelog

VersionDescription
4.9.0The $site_id parameter was added to support multisite.
4.4.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.