- Описание функции
- Примеры использования
- Создание нового сайта
- Обновление информации о сайте
- Установка статуса сайта
- Удаление сайта
- Добавление пользовательских опций и метаданных
- Вопросы и ответы
- Как добавить новый сайт в базу данных?
- Как указать домен и путь для нового сайта?
- Как указать сетевой ID для нового сайта?
- Как указать дату регистрации и последнего обновления для нового сайта?
- Как указать статус публичности, архивирования, зрелости, спама и удаления для нового сайта?
- Как указать языковой ID и ID пользователя-администратора для нового сайта?
- Как указать заголовок, пользовательские опции и метаданные для нового сайта?
- Связанные элементы
Описание функции
Функция wp_insert_site() используется для вставки нового сайта в базу данных WordPress.
Она принимает массив данных, содержащий информацию о новом сайте, и возвращает идентификатор нового сайта в случае успешного выполнения или объект ошибки в случае неудачи.
Использование
wp_insert_site( array $data ): int|WP_Error Функция wp_insert_site() принимает один обязательный параметр — массив данных $data, содержащий информацию о новом сайте.
$data(array) — Обязательный. Данные для нового сайта, которые должны быть вставлены.domain(string) — Домен сайта. По умолчанию пустая строка.path(string) — Путь сайта. По умолчанию ‘/’.network_id(int) — Идентификатор сети сайтов. По умолчанию — текущий идентификатор сети.registered(string) — Дата регистрации сайта в формате SQL datetime. По умолчанию — текущее время.last_updated(string) — Дата последнего обновления сайта в формате SQL datetime. По умолчанию — значение$registered.public(int) — Является ли сайт публичным. По умолчанию 1.archived(int) — Является ли сайт архивным. По умолчанию 0.mature(int) — Является ли сайт взрослым. По умолчанию 0.spam(int) — Является ли сайт спамом. По умолчанию 0.deleted(int) — Является ли сайт удаленным. По умолчанию 0.lang_id(int) — Идентификатор языка сайта. В настоящее время не используется. По умолчанию 0.user_id(int) — Идентификатор пользователя-администратора сайта. Передается в хукwp_initialize_site.title(string) — Заголовок сайта. По умолчанию ‘Site %d’, где %d — идентификатор сайта. Передается в хукwp_initialize_site.options(array) — Пользовательские опции в формате $key => $value для использования. По умолчанию пустой массив. Передается в хукwp_initialize_site.meta(array) — Пользовательские метаданные сайта в формате $key => $value для использования. По умолчанию пустой массив. Передается в хукwp_initialize_site.
Функция возвращает идентификатор нового сайта в случае успешного выполнения или объект ошибки в случае неудачи.
<?php
// Создание нового сайта
$data = array(
'domain' => 'example.com',
'path' => '/',
'network_id' => 1,
'registered' => '2022-01-01 00:00:00',
'last_updated' => '2022-01-01 00:00:00',
'public' => 1,
'archived' => 0,
'mature' => 0,
'spam' => 0,
'deleted' => 0,
'lang_id' => 0,
'user_id' => 1,
'title' => 'My Site',
'options' => array(
'option1' => 'value1',
'option2' => 'value2',
),
'meta' => array(
'meta1' => 'value1',
'meta2' => 'value2',
),
);
$new_site_id = wp_insert_site( $data );
if ( ! is_wp_error( $new_site_id ) ) {
echo 'New site created with ID: ' . $new_site_id;
} else {
echo 'Failed to create new site. Error: ' . $new_site_id->get_error_message();
}
?> Примеры использования
Создание нового сайта
// Создание нового сайта с указанными данными
$data = array(
'domain' => 'example.com',
'path' => '/',
'network_id' => 1,
'registered' => '2022-01-01 00:00:00',
'last_updated' => '2022-01-01 00:00:00',
'public' => 1,
'archived' => 0,
'mature' => 0,
'spam' => 0,
'deleted' => 0,
'lang_id' => 0,
'user_id' => 1,
'title' => 'My New Site',
'options' => array(),
'meta' => array()
);
$result = wp_insert_site($data);
if (!is_wp_error($result)) {
// Вывод ID нового сайта при успешном создании
echo 'New site ID: ' . $result;
} else {
// Вывод ошибки при неудачном создании
echo 'Error: ' . $result->get_error_message();
}
Обновление информации о сайте
// Получение объекта сайта по его ID
$site_id = 1;
$site = get_site($site_id);
if ($site instanceof WP_Site) {
// Обновление информации о сайте
$site->domain = 'newdomain.com';
$site->path = '/newpath/';
$site->last_updated = current_time('mysql');
$result = wp_update_site($site);
if (!is_wp_error($result)) {
// Вывод сообщения об успешном обновлении
echo 'Site information updated successfully.';
} else {
// Вывод ошибки при неудачном обновлении
echo 'Error: ' . $result->get_error_message();
}
} else {
// Вывод ошибки, если сайт не найден
echo 'Site not found.';
}
Установка статуса сайта
// Установка сайта с ID 1 в архивный статус
$site_id = 1;
$result = update_blog_status($site_id, 'archived', 1);
if (!is_wp_error($result)) {
// Вывод сообщения об успешной установке статуса
echo 'Site status updated successfully.';
} else {
// Вывод ошибки при неудачной установке статуса
echo 'Error: ' . $result->get_error_message();
}
Удаление сайта
// Удаление сайта с ID 1
$site_id = 1;
$result = wp_delete_site($site_id);
if (!is_wp_error($result)) {
// Вывод сообщения об успешном удалении
echo 'Site deleted successfully.';
} else {
// Вывод ошибки при неудачном удалении
echo 'Error: ' . $result->get_error_message();
}
Добавление пользовательских опций и метаданных
// Добавление пользовательской опции для сайта с ID 1
$site_id = 1;
$option_name = 'custom_option';
$option_value = 'custom_value';
$result = add_blog_option($site_id, $option_name, $option_value);
if (!is_wp_error($result)) {
// Вывод сообщения об успешном добавлении опции
echo 'Custom option added successfully.';
} else {
// Вывод ошибки при неудачном добавлении опции
echo 'Error: ' . $result->get_error_message();
}
// Добавление пользовательской метаданных для сайта с ID 1
$meta_key = 'custom_meta';
$meta_value = 'custom_value';
$result = add_blog_meta($site_id, $meta_key, $meta_value);
if (!is_wp_error($result)) {
// Вывод сообщения об успешном добавлении метаданных
echo 'Custom meta added successfully.';
} else {
// Вывод ошибки при неудачном добавлении метаданных
echo 'Error: ' . $result->get_error_message();
}
Вопросы и ответы
Как добавить новый сайт в базу данных?
Для добавления нового сайта в базу данных WordPress можно использовать функцию wp_insert_site(). Она принимает один обязательный параметр — массив $data, содержащий данные нового сайта.
$data = array(
'domain' => 'example.com',
'path' => '/',
'network_id' => 1,
'registered' => '2022-01-01 00:00:00',
'last_updated' => '2022-01-01 00:00:00',
'public' => 1,
'archived' => 0,
'mature' => 0,
'spam' => 0,
'deleted' => 0,
'lang_id' => 0,
'user_id' => 1,
'title' => 'Site 1',
'options' => array(),
'meta' => array()
);
$result = wp_insert_site( $data );
if ( is_wp_error( $result ) ) {
// Обработка ошибки
} else {
$site_id = $result;
} Как указать домен и путь для нового сайта?
Для указания домена и пути нового сайта в базе данных WordPress используйте соответствующие значения в массиве $data, передаваемом в функцию wp_insert_site().
$data = array(
'domain' => 'example.com',
'path' => '/'
); Как указать сетевой ID для нового сайта?
Для указания сетевого ID нового сайта в базе данных WordPress используйте значение параметра network_id в массиве $data, передаваемом в функцию wp_insert_site().
$data = array(
'network_id' => 1
); Как указать дату регистрации и последнего обновления для нового сайта?
Для указания даты регистрации и последнего обновления нового сайта при использовании функции wp_insert_site() необходимо передать соответствующие значения в виде строк в формате SQL datetime.
Пример кода:
$data = array(
'registered' => '2022-01-01 00:00:00',
'last_updated' => '2022-01-01 12:00:00',
);
$result = wp_insert_site( $data );
Как указать статус публичности, архивирования, зрелости, спама и удаления для нового сайта?
Для указания статуса публичности, архивирования, зрелости, спама и удаления нового сайта при использовании функции wp_insert_site() необходимо передать соответствующие значения в виде целых чисел.
Пример кода:
$data = array(
'public' => 1,
'archived' => 0,
'mature' => 0,
'spam' => 0,
'deleted' => 0,
);
$result = wp_insert_site( $data );
Как указать языковой ID и ID пользователя-администратора для нового сайта?
Для указания языкового ID и ID пользователя-администратора нового сайта при использовании функции wp_insert_site() необходимо передать соответствующие значения в виде целых чисел.
Пример кода:
$data = array(
'lang_id' => 1,
'user_id' => 10,
);
$result = wp_insert_site( $data );
Как указать заголовок, пользовательские опции и метаданные для нового сайта?
Для указания заголовка, пользовательских опций и метаданных нового сайта при использовании функции wp_insert_site() необходимо передать соответствующие значения в виде строк и массивов.
Пример кода:
$data = array(
'title' => 'My New Site',
'options' => array(
'key1' => 'value1',
'key2' => 'value2',
),
'meta' => array(
'key1' => 'value1',
'key2' => 'value2',
),
);
$result = wp_insert_site( $data );
Функция
wp_insert_site()позволяет вставить новый сайт в базу данных WordPress. Она принимает различные параметры, такие как домен, путь, ID сети, даты регистрации и обновления, статусы публичности, архивирования, зрелости, спама и удаления, языковой ID, ID пользователя-администратора, заголовок, пользовательские опции и метаданные. Возвращаемое значение функции — ID нового сайта в случае успеха или объект ошибки в случае неудачи.
Связанные элементы
- Функция
get_site(): Возвращает объект WP_Site для указанного идентификатора сайта. - Функция
get_sites(): Возвращает массив объектов WP_Site для всех сайтов в сети. - Хук
wp_initialize_site: Вызывается при инициализации нового сайта после его вставки в базу данных. - Хук
wp_insert_site_data: Позволяет изменить данные, передаваемые в функциюwp_insert_siteперед вставкой нового сайта в базу данных. - Класс
WP_Site: Представляет сайт в WordPress и предоставляет методы для работы с ним. - Класс
WP_Error: Представляет ошибку, которая может возникнуть при выполнении операции в WordPress.