wp_insert_site()

Вставляет новый сайт в базу данных
Функция WordPress
INT 5.1.0
WordPress Icon

Описание функции

Функция 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.
Обсуждение