# wpmu_create_blog()

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

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

## Сигнатура

```php
wpmu_create_blog( string $domain, string $path, string $title, int $user_id, array $options = array(), int $network_id = 1 ): int|WP_Error
```

## Описание

Эта функция выполняется как при самостоятельной регистрации нового сайта пользователем, так и при создании нового сайта суперадминистратором. Подключайтесь к 'wpmu_new_blog' для событий, которые должны затрагивать все новые сайты.
В установках с подкаталогами $domain совпадает с доменом основного сайта, а путь — это имя подкаталога (например, 'example.com' и '/blog1/'). В установках с поддоменами $domain — это новый поддомен плюс корневой домен (например, 'blog1.example.com'), а $path — '/'.

## Параметры

- `$domain` `string` — обязательный. Домен нового сайта.
- `$path` `string` — обязательный. Путь нового сайта.
- `$title` `string` — обязательный. Заголовок нового сайта.
- `$user_id` `int` — обязательный. ID пользователя-администратора нового сайта.
- `$options` `array` — необязательный, по умолчанию `array()`. Массив пар ключ=>значение для задания начальных опций сайта.
  
  Если включены допустимые ключи статуса ('public', 'archived', 'mature', 'spam', 'deleted' или 'lang_id'), будут обновлены соответствующие статусы сайта. В противном случае ключи и значения используются для задания опций нового сайта.
- `$network_id` `int` — необязательный, по умолчанию `1`. ID сети. Актуально только на установках с несколькими сетями.

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

`int|WP_Error` — WP_Error

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

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

```php
function wpmu_create_blog( $domain, $path, $title, $user_id, $options = array(), $network_id = 1 ) {
	$defaults = array(
		'public' => 0,
	);
	$options  = wp_parse_args( $options, $defaults );

	$title   = strip_tags( $title );
	$user_id = (int) $user_id;

	// Check if the domain has been used already. We should return an error message.
	if ( domain_exists( $domain, $path, $network_id ) ) {
		return new WP_Error( 'blog_taken', __( 'Sorry, that site already exists!' ) );
	}

	if ( ! wp_installing() ) {
		wp_installing( true );
	}

	$allowed_data_fields = array( 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id' );

	$site_data = array_merge(
		array(
			'domain'     => $domain,
			'path'       => $path,
			'network_id' => $network_id,
		),
		array_intersect_key( $options, array_flip( $allowed_data_fields ) )
	);

	// Data to pass to wp_initialize_site().
	$site_initialization_data = array(
		'title'   => $title,
		'user_id' => $user_id,
		'options' => array_diff_key( $options, array_flip( $allowed_data_fields ) ),
	);

	$blog_id = wp_insert_site( array_merge( $site_data, $site_initialization_data ) );

	if ( is_wp_error( $blog_id ) ) {
		return $blog_id;
	}

	wp_cache_set_sites_last_changed();

	return $blog_id;
}
```

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

- MU (3.0.0) — Introduced.

## Связанные

Использует: [`wp_cache_set_sites_last_changed`](https://chugunov.pro/api-wordpress/functions/wp_cache_set_sites_last_changed/), [`wp_insert_site`](https://chugunov.pro/api-wordpress/functions/wp_insert_site/), [`wp_installing`](https://chugunov.pro/api-wordpress/functions/wp_installing/), [`domain_exists`](https://chugunov.pro/api-wordpress/functions/domain_exists/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`wp_parse_args`](https://chugunov.pro/api-wordpress/functions/wp_parse_args/), [`is_wp_error`](https://chugunov.pro/api-wordpress/functions/is_wp_error/), `WP_Error::__construct`.
Используется в: [`validate_another_blog_signup`](https://chugunov.pro/api-wordpress/functions/validate_another_blog_signup/), [`wpmu_activate_signup`](https://chugunov.pro/api-wordpress/functions/wpmu_activate_signup/).

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