1. 首页
  2. WordPress钩子手册

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/

发表评论

您的电子邮箱地址不会被公开。