wp_create_user()
云策文档标注
概述
wp_create_user() 函数提供了一种简化方式,用于向数据库插入新用户,仅需用户名、密码和邮箱。对于更复杂的用户创建场景,建议使用 wp_insert_user() 函数。
关键要点
- 函数用途:简化用户创建,仅处理用户名、密码和邮箱参数。
- 参数说明:$username(必需,字符串类型),$password(必需,字符串类型,明文密码),$email(可选,字符串类型,默认为空)。
- 返回值:成功时返回新用户的 ID(整数),失败时返回 WP_Error 对象。
- 内部实现:基于 wp_insert_user() 函数,通过 wp_slash() 处理用户名和邮箱,并传递密码。
- 相关函数:wp_insert_user() 提供更完整的用户创建功能,wp_slash() 用于字符串转义。
代码示例
$user_id = wp_create_user( 'newuser', 'plaintextpassword', 'user@example.com' );
if ( is_wp_error( $user_id ) ) {
// 处理错误
} else {
// 用户创建成功,$user_id 为新用户 ID
}注意事项
- 密码参数应为明文密码,无需加密处理。
- 函数内部使用 wp_slash() 对用户名和邮箱进行转义,确保数据安全。
- 对于需要更多用户字段(如显示名、角色等)的场景,应直接使用 wp_insert_user()。
原文内容
Provides a simpler way of inserting a user into the database.
Description
Creates a new user with just the username, password, and email. For more complex user creation use wp_insert_user() to specify more information.
See also
- wp_insert_user(): More complete way to create a new user.
Parameters
$usernamestringrequired-
The user’s username.
$passwordstringrequired-
The user’s password.
$emailstringoptional-
The user’s email. Default empty.
Source
function wp_create_user(
$username,
#[SensitiveParameter]
$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 );
}
Changelog
| Version | Description |
|---|---|
| 2.0.0 | Introduced. |
Skip to note 3 content
Codex
Basic Example
As used in wp-admin/upgrade-functions.php:
$user_id = username_exists( $user_name ); if ( ! $user_id && false == email_exists( $user_email ) ) { $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 = __( 'User already exists. Password inherited.', 'textdomain' ); }Skip to note 4 content
afrojanoon
Just a note:
As mentioned in the wp_insert_user() function arguments, the password expected here is plain text password.
user_pass (string): The plain-text user password.