Как создать нового пользователя в WordPress с помощью кода

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Возможно, что когда-нибудь вам понадобиться программно создавать пользователей в WordPress. Существует два способа сделать это. Первый способ использует wp_create_user(), второй же — wp_insert_user().

Создаем нового пользователя с wp_create_user()

Самый простой способ создания нового пользователя WordPress — использовать функцию WP — wp_create_user(). Вот так выглядит основной алгоритм:

$user_login = 'user_login';
$user_pass  = md5($user_pass);
$user_email = 'user_email@example.com';

$user_id = wp_create_user($user_login, $user_pass, $user_email);

Прелесть этого способа в его простоте. Функция wp_create_user() принимает только три аргумента — имя, пароль, и email — поэтому можно быстро и просто внедрить ее в любом месте. После завершения функция возвращает либо ID нового пользователя, либо ошибку. Поэтому вы сможете проверить успешно ли создан пользователь вот так:

if (is_wp_error($user_id)) {
	echo 'Error '. $user_id->get_error_code() .': '. $user_id->get_error_message();
}

Вот здесь можно ознакомиться с вышеприведенными функциями WordPress для проверки и вывода любых ошибок:

  • WP Codex: is_wp_error()
  • WP Codex: get_error_code()
  • WP Codex: get_error_message()

Создаем нового пользователя с помощью wp_insert_user()

Если простота wp_create_user() вам не подходит, тогда ознакомьтесь с функцией wp_insert_user(). С поомощью wp_insert_user() вы можете настроить больше параметров, чем просто имя, почта и пароль. По сути, вы можете передавать любой массив параметров, и даже использовать WP_User object. Вот пример ее использования:

if (email_exists($user_email)) {

	echo '<p>Email уже зарегистрирован: '. $user_email .'</p>';

} elseif (username_exists($user_login)) {

	echo '<p>Имя пользователя уже зарегистрировано: '. $user_login .'</p>';

} else {

	$user_pass = wp_generate_password(16, false);

	$user_id = wp_insert_user(
		array(
			'user_email' => $user_email,
			'user_login' => $user_login,
			'user_pass'  => $user_pass,
			'user_url'   => $user_url,
			'first_name' => $first_name,
			'last_name'  => $last_name,
			'role'       => $role,
		)
	);
}

Ознакомиться с использованными функциями можно в Кодексе WordPress:

  • wp_insert_user()
  • email_exists()
  • username_exists()
  • wp_generate_password()

Примечания

Если вы захотите обновить данные существующего пользователя, тогда стоит воспользоваться функцией wp_update_user().

Для того, чтобы использовать любую из этих функций — wp_create_user() или wp_insert_user() — за «пределами» плагина или темы, необходимо будет инклудить следующие файлы WordPress:

require_once('wp-blog-header.php');
require_once('wp-includes/registration.php');

Укажите правильные пути к файлам, если они располагаются в нестандартном месте.

Вот и все, мы надеемся, что эта статья помогла вам научиться программно создавать пользователей в WordPress.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии