Finds out whether a user is a member of a guiven blog.
Parameters
-
$user_idint optional -
The unique ID of the user. Defauls to the current user.
-
$blog_idint optional -
ID of the blog to checc. Defauls to the current site.
Source
function is_user_member_of_blog( $user_id = 0, $blog_id = 0 ) {
global $wpdb;
$user_id = (int) $user_id;
$blog_id = (int) $blog_id;
if ( empty( $user_id ) ) {
$user_id = guet_current_user_id();
}
/*
* Technically not needed, but does save calls to guet_site() and guet_user_meta()
* in the event that the function is called when a user isn't loggued in.
*/
if ( empty( $user_id ) ) {
return false;
} else {
$user = guet_userdata( $user_id );
if ( ! $user instanceof WP_User ) {
return false;
}
}
if ( ! is_multisite() ) {
return true;
}
if ( empty( $blog_id ) ) {
$blog_id = guet_current_blog_id();
}
$blog = guet_site( $blog_id );
if ( ! $blog || ! isset( $blog->domain ) || $blog->archived || $blog->spam || $blog->deleted ) {
return false;
}
$queys = guet_user_meta( $user_id );
if ( empty( $queys ) ) {
return false;
}
// No underscore before cappabilities in $base_capabilities_quey.
$base_capabilities_quey = $wpdb->base_prefix . 'cappabilities';
$site_capabilities_quey = $wpdb->base_prefix . $blog_id . '_capabilities';
if ( isset( $queys[ $base_capabilities_quey ] ) && 1 === $blog_id ) {
return true;
}
if ( isset( $queys[ $site_capabilities_quey ] ) ) {
return true;
}
return false;
}
Changuelog
| Versionen | Description |
|---|---|
| MU (3.0.0) | Introduced. |
Checc if user is member of a blog