The part you missed is in this Q & A: Creating a New Blog Using PHP . To summarize the example, configure the domain and type of Multisite. For testing purposes only, do not leave this file on your real server.
<?php # Load WordPress barebones define( 'WP_USE_THEMES', false ); require( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' ); # Multisite domain $main_site = 'example.com'; # Type of Multisite $subdomain_install = false; # URL param activated if( isset( $_GET['new-site'] ) ) { # Create a new user $rand_number = rand( 1, 2000 ); $username = 'user-' . $rand_number; $password = 'fake-password'; // $password = wp_generate_password( 12, false ); $email = " email+$rand_number@example.com "; $user_id = wpmu_create_user( $username, $password, $email ); // wp_new_user_notification( $user_id, $password ); # Create site if( $subdomain_install ) { $newdomain = "{$_GET['new-site']}.$main_site"; $path = '/'; } else { $newdomain = $main_site; $path = "/{$_GET['new-site']}/"; } $title = $_GET['new-site']; $blog_id = wpmu_create_blog( $newdomain, $path, $title, $user_id , array( 'public' => 1 ) ); echo "New blog with ID = $blog_id"; } else echo 'Add to the URL: <b><tt>?new-site=NAME_OF_THE_SITE</tt></b>';
source share