Title: wpmu_create_user
Published: April 25, 2014
Last modified: April 28, 2025

---

# wpmu_create_user( string $user_name, string $password, string $email ): int|false

## In this article

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

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

Creates a user.

## 󠀁[Description](https://developer.wordpress.org/reference/functions/wpmu_create_user/?output_format=md#description)󠁿

This function runs when a user self-registers as well as when a Super Admin creates
a new user. Hook to [‘wpmu_new_user’](https://developer.wordpress.org/reference/hooks/wpmu_new_user/)
for events that should affect all new users, but only on Multisite (otherwise use
[‘user_register’](https://developer.wordpress.org/reference/hooks/user_register/)).

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

 `$user_name`stringrequired

The new user’s login name.

`$password`stringrequired

The new user’s password.

`$email`stringrequired

The new user’s email address.

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

 int|false Returns false on failure, or int $user_id on success.

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

    ```php
    function wpmu_create_user(
    	$user_name,
    	#[\SensitiveParameter]
    	$password,
    	$email
    ) {
    	$user_name = preg_replace( '/\s+/', '', sanitize_user( $user_name, true ) );

    	$user_id = wp_create_user( $user_name, $password, $email );
    	if ( is_wp_error( $user_id ) ) {
    		return false;
    	}

    	// Newly created users have no roles or caps until they are added to a blog.
    	delete_user_option( $user_id, 'capabilities' );
    	delete_user_option( $user_id, 'user_level' );

    	/**
    	 * Fires immediately after a new user is created.
    	 *
    	 * @since MU (3.0.0)
    	 *
    	 * @param int $user_id User ID.
    	 */
    	do_action( 'wpmu_new_user', $user_id );

    	return $user_id;
    }
    ```

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

## 󠀁[Hooks](https://developer.wordpress.org/reference/functions/wpmu_create_user/?output_format=md#hooks)󠁿

 [do_action( ‘wpmu_new_user’, int $user_id )](https://developer.wordpress.org/reference/hooks/wpmu_new_user/)

Fires immediately after a new user is created.

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

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

Sanitizes a username, stripping out unsafe characters.

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

Provides a simpler way of inserting a user into the database.

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

Deletes user option with global blog capability.

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

Calls the callback functions that have been added to an action hook.

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

Checks whether the given variable is a WordPress Error.

  |

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

| Used by | Description | 
| [WP_REST_Users_Controller::create_item()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/create_item/)`wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php` |

Creates a single user.

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

Activates a signup.

  |

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

| Version | Description | 
| [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%2Fwpmu_create_user%2F)
before being able to contribute a note or feedback.