Title: create_empty_blog
Published: April 25, 2014
Last modified: February 24, 2026

---

# create_empty_blog( string $domain, string $path, string $weblog_title, int $site_id = 1 ): string|int

## In this article

 * [Parameters](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#wp--skip-link--target)

This function has been deprecated since 4.4.0.

Create an empty blog.

## 󠀁[Parameters](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#parameters)󠁿

 `$domain`stringrequired

The new blog’s domain.

`$path`stringrequired

The new blog’s path.

`$weblog_title`stringrequired

The new blog’s title.

`$site_id`intoptional

Defaults to 1.

Default:`1`

## 󠀁[Return](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#return)󠁿

 string|int The ID of the newly created blog

## 󠀁[Source](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#source)󠁿

    ```php
    function create_empty_blog( $domain, $path, $weblog_title, $site_id = 1 ) {
    	_deprecated_function( __FUNCTION__, '4.4.0' );

    	if ( empty($path) )
    		$path = '/';

    	// Check if the domain has been used already. We should return an error message.
    	if ( domain_exists($domain, $path, $site_id) )
    		return __( '<strong>Error:</strong> Site URL you&#8217;ve entered is already taken.' );

    	/*
    	 * Need to back up wpdb table names, and create a new wp_blogs entry for new blog.
    	 * Need to get blog_id from wp_blogs, and create new table names.
    	 * Must restore table names at the end of function.
    	 */

    	if ( ! $blog_id = insert_blog($domain, $path, $site_id) )
    		return __( '<strong>Error:</strong> There was a problem creating site entry.' );

    	switch_to_blog($blog_id);
    	install_blog($blog_id);
    	restore_current_blog();

    	return $blog_id;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/ms-deprecated.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/ms-deprecated.php#L398)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/ms-deprecated.php#L398-L422)

## 󠀁[Related](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#related)󠁿

| Uses | Description | 
| [domain_exists()](https://developer.wordpress.org/reference/functions/domain_exists/)`wp-includes/ms-functions.php` |

Checks whether a site name is already taken.

  | 
| [insert_blog()](https://developer.wordpress.org/reference/functions/insert_blog/)`wp-includes/ms-deprecated.php` |

Store basic site info in the blogs table.

  | 
| [install_blog()](https://developer.wordpress.org/reference/functions/install_blog/)`wp-includes/ms-deprecated.php` |

Install an empty blog.

  | 
| [switch_to_blog()](https://developer.wordpress.org/reference/functions/switch_to_blog/)`wp-includes/ms-blogs.php` |

Switches the current blog.

  | 
| [restore_current_blog()](https://developer.wordpress.org/reference/functions/restore_current_blog/)`wp-includes/ms-blogs.php` |

Restores the current blog, after calling [switch_to_blog()](https://developer.wordpress.org/reference/functions/switch_to_blog/) .

  | 
| [__()](https://developer.wordpress.org/reference/functions/__/)`wp-includes/l10n.php` |

Retrieves the translation of $text.

  | 
| [_deprecated_function()](https://developer.wordpress.org/reference/functions/_deprecated_function/)`wp-includes/functions.php` |

Marks a function as deprecated and inform when it has been used.

  |

[Show 2 more](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/functions/create_empty_blog/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.4.0](https://developer.wordpress.org/reference/since/4.4.0/) | Deprecated.  | 
| [MU (3.0.0)](https://developer.wordpress.org/reference/since/mu.3.0.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fcreate_empty_blog%2F)
before being able to contribute a note or feedback.