wp_create_user

Добавляет нового пользователя в базу данных (указываются только: имя, пароль, почта).

Передаваемые данные очищаются классом $wpdb.

Используйте аналогичную функцию: wp_insert_user(), когда нужно указать дополнительные параметры: роль, метаполя и т.д.

Хуков нет.

Возвращает

ID, если удалось добавить пользователя. Если создать не удалось (имя или мыло уже существуют), вернет объект WP_Error со следующими сообщениями об ошибке:

  • empty_user_login — невозможно создать пользователя, потому что логин не указан (пуст);

  • existing_user_login — такой пользователь уже зарегистрирован;

  • existing_user_email — такой email уже существует.

  • подробнее см. wp_insert_user()

Использование

$user_id = wp_create_user( $username, $password, $email );
$username(строка) (обязательный)
Имя создаваемого пользователя (логин).
По умолчанию: нет
$password(строка) (обязательный)
Пароль создаваемого пользователя.
По умолчанию: нет
$email(строка)
E-mail создаваемого пользователя.
По умолчанию: нет

Примеры

#1. Пример создания нового пользователя.

Сначала проверим нет ли уже пользователя с таки же именем, если нет, то генерируем пароль и создаем нового пользователя:

$user_id = username_exists( $user_name );
if ( !$user_id ) {
	$random_password = wp_generate_password( $length=12, $include_standard_special_chars=false );
	$user_id = wp_create_user( $user_name, $random_password, $user_email );
} else {
	$random_password = 'Такой пользователь уже существует.';
}

Код из


wp-includes/user.php

WP 4.7.2

<?php
function wp_create_user($username, $password, $email = '') {
	$user_login = wp_slash( $username );
	$user_email = wp_slash( $email    );
	$user_pass = $password;

	$userdata = compact('user_login', 'user_email', 'user_pass');
	return wp_insert_user($userdata);
}