wp_get_users_with_no_role()
Gets the user IDs of all users with no role on this site.
No Hooks.
Return
String[]
. Array of user IDs as strings.
Usage
wp_get_users_with_no_role( $site_id );
- $site_id(int|null)
- The site ID to get users with no role for.
Default: current site
Notes
- Global. wpdb. $wpdb WordPress database abstraction object.
Changelog
Since 4.4.0 | Introduced. |
Since 4.9.0 | The $site_id parameter was added to support multisite. |
wp_get_users_with_no_role() wp get users with no role code WP 6.6.2
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; }