Create multiple sites with wp-cli in WordPress multisite for testing.
These commands will install multiple dummy sites in a WordPress Multisite environment.
I wrote this to easily create an environment to work on https://core.trac.wordpress.org/ticket/15317.
In the terminal, inside your WordPress directory: simply copy, paste, and run the one-line command.
You can also add it to a location available in your $PATH
and invoke the script from the shell.
The easiest way to use this with WP-CLI is to include it in your commands directory and require it via config.
You may also choose to add the file to your local install and run this command, substituting your number of sites for {number}
:
wp --require=wp-multisite-create-dummy-sites.php multisite install {number}
<?php
/**
* Bail if not a WP-CLI request
*/
if ( ! defined( 'WP_CLI' ) ) {
return;
}
class Setup_Command extends \WP_CLI_Command {
/**
* Install a number of test sites in a multisite environment.
*/
function install( $args, $assoc_args ) {
$number = absint( $assoc_args['number'] );
for ( $i = 0; $i <= $number; $i++ ) {
\WP_CLI::run_command( array( 'site', 'create' ),
array(
'slug' => "site-{$number}",
'title' => "Test Site $number",
)
);
}
\WP_CLI::success( "$number sites created." );
}
}
\WP_CLI::add_command( 'multisite', 'Setup_Command' );
for((i=1;i<=30;i++));do wp site create --slug="site-$i" --title="Test Site $i"; done