# add_user_to_blog()

URL: https://chugunov.pro/api-wordpress/functions/add_user_to_blog/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: MU (3.0.0).

## Сигнатура

```php
add_user_to_blog( int $blog_id, int $user_id, string $role ): true|WP_Error
```

## Описание

Используйте действие 'add_user_to_blog', чтобы запустить событие при добавлении пользователей в блог.

## Параметры

- `$blog_id` `int` — обязательный. ID блога, в который добавляется пользователь.
- `$user_id` `int` — обязательный. ID добавляемого пользователя.
- `$role` `string` — обязательный. Роль пользователя.

## Возвращаемое значение

`true|WP_Error` — WP_Error

## Исходный код

Файл: `wp-includes/ms-functions.php:161`

```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 WP_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|WP_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_wp_error( $can_add_user ) ) {
			return $can_add_user;
		}

		return new WP_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 );
	wp_cache_delete( $blog_id . '_user_count', 'blog-details' );

	restore_current_blog();

	return true;
}
```

## История изменений

- MU (3.0.0) — Introduced.

## Связанные

Использует: [`get_site`](https://chugunov.pro/api-wordpress/functions/get_site/), [`wp_cache_delete`](https://chugunov.pro/api-wordpress/functions/wp_cache_delete/), [`clean_user_cache`](https://chugunov.pro/api-wordpress/functions/clean_user_cache/), [`get_user_meta`](https://chugunov.pro/api-wordpress/functions/get_user_meta/), [`update_user_meta`](https://chugunov.pro/api-wordpress/functions/update_user_meta/), [`switch_to_blog`](https://chugunov.pro/api-wordpress/functions/switch_to_blog/), [`restore_current_blog`](https://chugunov.pro/api-wordpress/functions/restore_current_blog/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`get_userdata`](https://chugunov.pro/api-wordpress/functions/get_userdata/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), [`do_action`](https://chugunov.pro/api-wordpress/functions/do_action/), [`is_wp_error`](https://chugunov.pro/api-wordpress/functions/is_wp_error/), `WP_Error::__construct`.
Используется в: [`wp_initialize_site`](https://chugunov.pro/api-wordpress/functions/wp_initialize_site/), `WP_REST_Users_Controller::create_item`, [`add_existing_user_to_blog`](https://chugunov.pro/api-wordpress/functions/add_existing_user_to_blog/), [`maybe_add_existing_user_to_blog`](https://chugunov.pro/api-wordpress/functions/maybe_add_existing_user_to_blog/), [`add_new_user_to_blog`](https://chugunov.pro/api-wordpress/functions/add_new_user_to_blog/), [`get_active_blog_for_user`](https://chugunov.pro/api-wordpress/functions/get_active_blog_for_user/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/add_user_to_blog/
