Описание функции wp_insert_user()
Функция wp_insert_user() используется для создания нового пользователя или обновления существующего в WordPress. Она принимает массив аргументов, который содержит информацию о пользователе, такую как имя, email и пароль. Функция обрабатывает валидацию и возвращает ID пользователя в случае успеха, или WP_Error в случае неудачи.
Эта функция часто используется в плагинах и темах для управления пользователями и их ролями
Параметры
$userdata
Тип: array
Обязательный: Да
По умолчанию: array()
Описание: Массив данных пользователя для создания или обновления
Возможные значения:
user_login: Логин пользователя (обязательный)
user_pass: Пароль пользователя (обязательный для нового пользователя)
user_email: Email пользователя (обязательный)
display_name: Отображаемое имя
role: Роль пользователя (например, subscriber, contributor, author, editor, administrator)
Возвращаемое значение
Тип: int|WP_Error
Описание: ID пользователя при успешном выполнении или WP_Error при ошибке
Возможные значения:
• ID нового или обновленного пользователя
• WP_Error в случае ошибки
Примеры использования
$user_id = wp_insert_user(array(
'user_login' => 'newuser',
'user_pass' => 'password123',
'user_email' => 'newuser@example.com'
));
// Выводим ID нового пользователя
decho $user_id; // 123
$user_id = wp_insert_user(array(
'ID' => 123,
'user_email' => 'updated@example.com'
));
// Выводим ID обновленного пользователя
decho $user_id; // 123
$user_id = wp_insert_user(array(
'user_login' => 'existinguser',
'user_pass' => 'password123',
'user_email' => 'existinguser@example.com'
));
if (is_wp_error($user_id)) {
echo 'Ошибка: ' . $user_id->get_error_message();
} else {
echo 'Создан пользователь с ID: ' . $user_id;
}
$args = array(
'user_login' => 'pluginuser',
'user_pass' => 'securepass',
'user_email' => 'pluginuser@example.com',
'role' => 'editor'
);
$user_id = wp_insert_user($args);
// Проверка на ошибки и дальнейшие действия
do_something_with_user($user_id);
Безопасность
Валидация входных данных: Функция проверяет корректность логина и email
Санитизация: WordPress автоматически очищает входные данные
Рекомендации: Используйте wp_hash_password() для паролей и проверяйте уникальность логина и email перед вызовом функции
— Связанные функции
Обновляет данные существующего пользователя
Получает данные пользователя по различным критериям
— Примечания
– Ограничения
Функция не может создать пользователя без логина и email
– Частые проблемы
- Ошибка при создании пользователя с уже существующим логином
- Неверный формат email приводит к ошибке