add_user_to_blog
do_action( ‘add_user_to_blog’, int $user_id , string $role , int $blog_id )
操作挂钩:在用户添加到站点后立即激发。
Action Hook: Fires immediately after a user is added to a site.
参数(Parameters)
参数 | 类型 | 说明 |
---|---|---|
$user_id | (int) | 用户ID。 |
$role | (string) | 用户角色。 |
$blog_id | (int) | 博客ID。 |
源码(Source)
/** * Add a user to a blog. * * Use the 'add_user_to_blog' action to fire an event when * users are added to a blog. * * @since MU 1.0 * * @param int $blog_id ID of the blog you're adding the user to. * @param int $user_id ID of the user you're adding. * @param string $role The role you want the user to have * @return true|WP_Error */ 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 WP_Error( 'user_does_not_exist', __( 'The requested user does not exist.' ) ); } if ( !get_user_meta($user_id, 'primary_blog', true) ) { update_user_meta($user_id, 'primary_blog', $blog_id); $details = get_blog_details($blog_id); update_user_meta($user_id, 'source_domain', $details->domain); } $user->set_role($role); /** * Fires immediately after a user is added to a site. * * @since MU * * @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 ); wp_cache_delete( $user_id, 'users' ); wp_cache_delete( $blog_id . '_user_count', 'blog-details' ); restore_current_blog(); return true; }
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
MU (3.0.0) | wp-includes/ms-functions.php:214 | 1 | 0 |
笔记(Notes)
下面是一个用例,您可能需要将用户添加到除了主站点和他们自己的站点之外的网络上的公共站点(论坛、支持跟踪器等)。
add_user_to_blog 为WP2原创文章,链接:https://www.wp2.cn/hook/add_user_to_blog/