is_user_member_of_blog()
最后更新于:2021-11-27 12:15:24
is_user_member_of_blog( int$user_id, int$blog_id)Find out whether a user is a member of a given blog.
参数
- $user_id
-
(int) (Optional) The unique ID of the user. Defaults to the current user.
- $blog_id
-
(int) (Optional) ID of the blog to check. Defaults to the current site.
响应
(bool)
源文件
文件: gc-includes/user.php
function is_user_member_of_blog( $user_id = 0, $blog_id = 0 ) {
global $gcdb;
$user_id = (int) $user_id;
$blog_id = (int) $blog_id;
if ( empty( $user_id ) ) {
$user_id = get_current_user_id();
}
// Technically not needed, but does save calls to get_site() and get_user_meta()
// in the event that the function is called when a user isn't logged in.
if ( empty( $user_id ) ) {
return false;
} else {
$user = get_userdata( $user_id );
if ( ! $user instanceof GC_User ) {
return false;
}
}
if ( ! is_multisite() ) {
return true;
}
if ( empty( $blog_id ) ) {
$blog_id = get_current_blog_id();
}
$blog = get_site( $blog_id );
if ( ! $blog || ! isset( $blog->domain ) || $blog->archived || $blog->spam || $blog->deleted ) {
return false;
}
$keys = get_user_meta( $user_id );
if ( empty( $keys ) ) {
return false;
}
// No underscore before capabilities in $base_capabilities_key.
$base_capabilities_key = $gcdb->base_prefix . 'capabilities';
$site_capabilities_key = $gcdb->base_prefix . $blog_id . '_capabilities';
if ( isset( $keys[ $base_capabilities_key ] ) && 1 == $blog_id ) {
return true;
}
if ( isset( $keys[ $site_capabilities_key ] ) ) {
return true;
}
return false;
}