wpmu_create_user()
云策文档标注
概述
wpmu_create_user() 是 WordPress 多站点环境中用于创建用户的函数,适用于用户自助注册或超级管理员手动添加新用户场景。它基于 wp_create_user() 实现,并触发特定 Hook 以支持多站点扩展。
关键要点
- 函数用于创建新用户,接受用户名、密码和邮箱作为必填参数,返回用户 ID 或失败时返回 false。
- 在多站点环境下,新创建的用户默认无角色或权限,需后续添加到具体站点。
- 触发 wpmu_new_user Hook,便于开发者执行自定义操作,但仅限多站点使用;单站点应使用 user_register Hook。
- 内部调用 sanitize_user() 清理用户名,并删除用户选项以重置权限状态。
代码示例
function wpmu_create_user(
$user_name,
#[SensitiveParameter]
$password,
$email
) {
$user_name = preg_replace( '/\s+/', '', sanitize_user( $user_name, true ) );
$user_id = wp_create_user( $user_name, $password, $email );
if ( is_wp_error( $user_id ) ) {
return false;
}
// Newly created users have no roles or caps until they are added to a blog.
delete_user_option( $user_id, 'capabilities' );
delete_user_option( $user_id, 'user_level' );
/**
* Fires immediately after a new user is created.
*
* @since MU (3.0.0)
*
* @param int $user_id User ID.
*/
do_action( 'wpmu_new_user', $user_id );
return $user_id;
}
原文内容
Creates a user.
Description
This function runs when a user self-registers as well as when a Super Admin creates a new user. Hook to ‘wpmu_new_user’ for events that should affect all new users, but only on Multisite (otherwise use ‘user_register’).
Parameters
$user_namestringrequired-
The new user’s login name.
$passwordstringrequired-
The new user’s password.
$emailstringrequired-
The new user’s email address.
Source
function wpmu_create_user(
$user_name,
#[SensitiveParameter]
$password,
$email
) {
$user_name = preg_replace( '/s+/', '', sanitize_user( $user_name, true ) );
$user_id = wp_create_user( $user_name, $password, $email );
if ( is_wp_error( $user_id ) ) {
return false;
}
// Newly created users have no roles or caps until they are added to a blog.
delete_user_option( $user_id, 'capabilities' );
delete_user_option( $user_id, 'user_level' );
/**
* Fires immediately after a new user is created.
*
* @since MU (3.0.0)
*
* @param int $user_id User ID.
*/
do_action( 'wpmu_new_user', $user_id );
return $user_id;
}
Hooks
- do_action( ‘wpmu_new_user’, int $user_id )
-
Fires immediately after a new user is created.
Changelog
| Version | Description |
|---|---|
| MU (3.0.0) | Introduced. |