The install_blog() WordPress PHP function installs an empty blog by creating new blog tables and options.
Usage
install_blog($blog_id, $blog_title = '');
Parameters
$blog_id (int)– Required. The value returned bywp_insert_site().$blog_title (string)– Optional. The title of the new site. Default:''.
More information
See WordPress Developer Resources: install_blog()
Examples
Installing a new blog with a given ID and title
// Use the 'wp_insert_site()' function to get the blog ID
$blog_id = wp_insert_site(array('domain' => 'example.com', 'path' => '/newblog/'));
$blog_title = 'My New Blog';
// Switch to the new blog before installing
switch_to_blog($blog_id);
// Install the new blog
install_blog($blog_id, $blog_title);
// Switch back to the original blog
restore_current_blog();
Installing a new blog without specifying a title
// Get the blog ID
$blog_id = wp_insert_site(array('domain' => 'example.com', 'path' => '/newblog/'));
// Switch to the new blog before installing
switch_to_blog($blog_id);
// Install the new blog without a title
install_blog($blog_id);
// Switch back to the original blog
restore_current_blog();
Installing multiple blogs with a loop
$blog_titles = array('Blog 1', 'Blog 2', 'Blog 3');
foreach ($blog_titles as $title) {
// Get the blog ID
$blog_id = wp_insert_site(array('domain' => 'example.com', 'path' => '/' . sanitize_title($title) . '/'));
// Switch to the new blog before installing
switch_to_blog($blog_id);
// Install the new blog with the given title
install_blog($blog_id, $title);
// Switch back to the original blog
restore_current_blog();
}
Installing a new blog and setting a theme
// Get the blog ID
$blog_id = wp_insert_site(array('domain' => 'example.com', 'path' => '/newblog/'));
$blog_title = 'My New Blog';
// Switch to the new blog before installing
switch_to_blog($blog_id);
// Install the new blog
install_blog($blog_id, $blog_title);
// Set a theme for the new blog
switch_theme('twentytwentyone');
// Switch back to the original blog
restore_current_blog();
Installing a new blog and adding a user
// Get the blog ID
$blog_id = wp_insert_site(array('domain' => 'example.com', 'path' => '/newblog/'));
$blog_title = 'My New Blog';
// Switch to the new blog before installing
switch_to_blog($blog_id);
// Install the new blog
install_blog($blog_id, $blog_title);
// Add a new user to the blog
$user_id = wp_create_user('johndoe', 'password123', '[email protected]');
add_user_to_blog($blog_id, $user_id, 'administrator');
// Switch back to the original blog
restore_current_blog();