获取此站点上没有任何角色的所有用户的用户标识。
原型
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/