add_user_to_blog()
最后更新于:2021-11-25 19:44:16
add_user_to_blog( int$blog_id, int$user_id, string$role)Adds a user to a blog, along with specifying the user’s role.
参数
- $blog_id
-
(int) (Required) ID of the blog the user is being added to.
- $user_id
-
(int) (Required) ID of the user being added.
- $role
-
(string) (Required) The role you want the user to have.
响应
(true|GC_Error) True on success or a GC_Error object if the user doesn’t exist or could not be added.
源文件
文件: gc-includes/ms-functions.php
function add_user_to_blog( $blog_id, $user_id, $role ) {
switch_to_blog( $blog_id );
$user = get_userdata( $user_id );
if ( ! $user ) {
restore_current_blog();
return new GC_Error( 'user_does_not_exist', __( 'The requested user does not exist.' ) );
}
/**
* Filters whether a user should be added to a site.
*
* @since 4.9.0
*
* @param true|GC_Error $retval True if the user should be added to the site, error
* object otherwise.
* @param int $user_id User ID.
* @param string $role User role.
* @param int $blog_id Site ID.
*/
$can_add_user = apply_filters( 'can_add_user_to_blog', true, $user_id, $role, $blog_id );
if ( true !== $can_add_user ) {
restore_current_blog();
if ( is_gc_error( $can_add_user ) ) {
return $can_add_user;
}
return new GC_Error( 'user_cannot_be_added', __( 'User cannot be added to this site.' ) );
}
if ( ! get_user_meta( $user_id, 'primary_blog', true ) ) {
update_user_meta( $user_id, 'primary_blog', $blog_id );
$site = get_site( $blog_id );
update_user_meta( $user_id, 'source_domain', $site->domain );
}
$user->set_role( $role );
/**
* Fires immediately after a user is added to a site.
*
* @since MU (3.0.0)
*
* @param int $user_id User ID.
* @param string $role User role.
* @param int $blog_id Blog ID.
*/
do_action( 'add_user_to_blog', $user_id, $role, $blog_id );
clean_user_cache( $user_id );
gc_cache_delete( $blog_id . '_user_count', 'blog-details' );
restore_current_blog();
return true;
}
<?php //ADD USER ID 1 TO BLOG ID 1 AS AN EDITOR $user_id = 1; $blog_id = 1; $role = 'editor'; add_user_to_blog( $blog_id, $user_id, $role ) ?> <?php //ADD USER ID 2 TO BLOG ID 3 AS AN ADMINISTRATOR $user_id = 2; $blog_id = 3; $role = 'administrator'; add_user_to_blog( $blog_id, $user_id, $role ) ?>