Функция wp_install_defaults()
предназначена для создания начального контента на вновь установленном сайте WordPress. Она автоматически добавляет базовые элементы, такие как категории, посты, страницы и виджеты, что позволяет значительно упростить процесс настройки нового сайта.
wp_install_defaults( int $user_id )
Параметры
$user_id
(int) — обязательный параметр, который указывает идентификатор пользователя (обычно администратора), выполняющего установку.
Примечание
Важно отметить, что wp_install_defaults()
является плугинируемой функцией. Это означает, что вы можете переопределить ее в своем собственном плагине или мю-плагине, добавляя свои настройки для начального контента при установке WordPress.
Возвращаемое значение
Функция не возвращает никакого значения (null).
Пример 1: Дефолтные опции для сайта сети
Следующий пример показывает, как установить дефолтные параметры при создании нового сайта в мультисайте. Для этого создайте плагин со следующим содержимым:
<?php
/*
* Plugin Name: Custom Installation Script
* Description: Плагин для автоматического создания страниц и категорий на новых сайтах сети
*/
function custom_wp_install_defaults( $user_id ) {
// Установка структуры постоянных ссылок
update_option( 'permalink_structure', '/%postname%/' );
// Отключение приветственного экрана для администратора
update_user_meta( $user_id, 'show_welcome_panel', 0 );
// Активация темы
update_option( 'template', 'custom-base-theme' );
update_option( 'stylesheet', 'custom-event' );
update_option( 'current_theme', 'custom-event' );
// Создание категории "Без категории"
$category_id = wp_create_category( 'Без категории' );
// Добавление первого поста с комментарием
$post_id = wp_insert_post( array(
'post_title' => 'Первый пост',
'post_content' => 'Это содержимое первого поста на новом сайте.',
'post_status' => 'publish',
'post_author' => $user_id,
'post_category' => array( $category_id )
) );
// Добавление комментария к первому посту
wp_insert_comment( array(
'comment_post_ID' => $post_id,
'comment_content' => 'Отличный пост!',
'comment_author' => 'Посетитель',
'comment_author_email' => '[email protected]',
'comment_approved' => 1
) );
// Создание первой страницы
wp_insert_post( array(
'post_title' => 'О нас',
'post_content' => 'Это страница о нас.',
'post_status' => 'publish',
'post_type' => 'page',
'post_author' => $user_id
) );
// Создание страницы "Политика конфиденциальности"
wp_insert_post( array(
'post_title' => 'Политика конфиденциальности',
'post_content' => 'Это наша политика конфиденциальности.',
'post_status' => 'publish',
'post_type' => 'page',
'post_author' => $user_id
) );
}
// Привязываем функцию к событию создания сайта
add_action( 'wpmu_new_blog', 'custom_wp_install_defaults' );
?>
Заключение
Функция wp_install_defaults()
является мощным инструментом для упрощения процесса настройки нового сайта на WordPress. Поскольку ее можно переопределить, разработчики могут легко настроить начальный контент, адаптируя его под конкретные нужды. Создание своего собственного плагина для изменения начальных параметров — это отличный способ автоматизации и персонализации нового сайта.