获取此站点上没有任何角色的所有用户的用户标识。

原型

wp_get_users_with_no_role( int|null $site_id = null )

参数

$site_id (int|null) (Optional)  用于获取没有角色的用户的站点ID。默认为当前站点。

返回值

(array)  用户ID数组。

源文件

路径:wp-includes/user.php

<?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() && $site_id != get_current_blog_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;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_get_users_with_no_role/