wp_get_users_with_no_role( int|null $site_id = null )
Get the user IDs of all users with no role on this site.
Parameters
- $site_id
-
(int|null) (Optional) The site ID to get users with no role for. Defaults to the current site.
Default value: null
Return
(string[]) Array of user IDs as strings.
Source
File: wp-includes/user.php
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
Version | Description |
---|---|
4.9.0 | The $site_id parameter was added to support multisite. |
4.4.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_get_users_with_no_role