Skip to content

Instantly share code, notes, and snippets.

@maxkostinevich
Created May 2, 2016 00:14
Show Gist options
  • Save maxkostinevich/11528315409cb8626d1dc3435faf266b to your computer and use it in GitHub Desktop.
Save maxkostinevich/11528315409cb8626d1dc3435faf266b to your computer and use it in GitHub Desktop.
WP Multisite create new site (example)
<?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>';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment