wp_get_users_with_no_role() – Get the user IDs of all users with no role on this site.

You appear to be a bot. Output may be restricted

Description

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

Usage

$string[] = wp_get_users_with_no_role( $site_id );

Parameters

$site_id
( int|null ) optional – Optional. The site ID to get users with no role for. Defaults to the current site.

Returns

string[] Array of user IDs as strings.

Source

File name: wordpress/wp-includes/user.php
Lines:

1 to 33 of 33
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;
}
 

 View on GitHub View on Trac