WordPress函数:register_new_user 和 wp_insert_user 创建新用户的区别

追格官方小助手/ 2022年08月15日/ WordPress/ 浏览 2048

register_new_user 和 wp_insert_user 都可以用来在 WordPress 中创建新用户。两种方式有什么区别呢?


register_new_user 函数的作用是:将新用户插入WordPress数据库。当新用户通过WordPress的登录页面注册时,使用的就是这个函数。它与wp_insert_user 的不同之处在于,它需要有效的用户名和电子邮件地址,但不允许选择密码,使用wp_generate_password 生成随机密码。如果要使用特定密码或其他参数创建新用户,请使用 wp_ insert_user 。


register_new_user 不处理用户创建本身,它只是检查提交的用户名和电子邮件有效性,并生成随机密码,依靠 wp_insert_user 创建新用户。如果注册成功,它将使用wp_new_user_notification()向用户发送一封带有密码的通知电子邮件。如果注册失败,它将返回一个WP_Error()。


register_new_user 还提供了两个有用的钩子来自定义验证规则或用户注册过程:register_post 和 registration_errors。


比较一下 register_new_user 和 wp_insert_user 函数原型的区别。


register_new_user( string $user_login, string $user_email )

wp_insert_user( array|object|WP_User $userdata )


register_new_user 的参数要比 wp_insert_user 少很多。wp_insert_user  支持的参数如下:


'ID' (int) 用户ID。如果提供,将更新用户。


'user_pass' (string) 纯文本用户密码。


'user_login' (string) 用户的登录用户名。


'user_nicename' (string) URL友好的用户名。


'user_url' (string) 用户URL。


'user_email' (string) 用户电子邮件地址。


'display_name' (string) 用户的显示名称。默认值是用户的用户名。


'nickname' (string) 用户的昵称。默认值是用户的用户名。


'first_name' (string) 用户的名字。对于新用户,如果未指定$display_name,则将用于构建用户显示名称的第一部分。


'last_name' (string) 用户的姓氏。对于新用户,如果未指定$display_name,则将用于构建用户显示名称的第二部分。


'description' (string) 用户的传记描述。


'rich_editing' (string) 是否为用户启用富编辑器。接受“true”或“false”作为字符串文字,而不是布尔值。默认值为“true”。


'syntax_highlighting' (string) 是否为用户启用富代码编辑器。接受“true”或“false”作为字符串文字,而不是布尔值。默认值为“true”。


'comment_shortcuts' (string) 是否为用户启用评论审核键盘快捷键。接受“true”或“false”作为字符串文字,而不是布尔值。默认值为“false”。


'admin_color' (string) 用户的管理颜色方案。默认为“新鲜”。


'use_ssl' (bool) 用户是否应始终通过https访问管理员。默认值为false。


'user_registered' (string) 用户在UTC注册的日期。格式为“Y-m-d H:i:s”。


'user_activation_key' (string) 密码重置键。默认为空。


'spam' (bool) 仅限多站点。用户是否被标记为垃圾邮件。默认值为false。


'show_admin_bar_front' (string) 是否在网站前端为用户显示管理栏。接受“true”或“false”作为字符串文字,而不是布尔值。默认值为“true”。


'role' (string) 用户的角色。


'locale' (string) 用户的区域设置。默认为空。


'meta_input' (array) 由元键键入的自定义用户元值数组。默认为空。

发表评论

暂无评论,抢个沙发...

客服 工单