add_new_user_to_blog()
云策文档标注
概述
add_new_user_to_blog() 是一个 WordPress 函数,用于将新创建的用户添加到指定的博客站点。它通常作为 'wpmu_activate_user' 动作的钩子函数使用,处理多站点网络中的用户激活过程。
关键要点
- 此函数专为多站点网络设计,通过 add_user_to_blog() 实现用户添加。
- 它接受用户 ID、密码(被忽略)和元数据数组作为参数,其中元数据需包含目标博客 ID 和用户角色。
- 函数会从主博客移除用户,然后添加到指定博客,并更新用户的 primary_blog 元数据。
代码示例
function add_new_user_to_blog(
$user_id,
#[SensitiveParameter]
$password,
$meta
) {
if ( ! empty( $meta['add_to_blog'] ) ) {
$blog_id = $meta['add_to_blog'];
$role = $meta['new_role'];
remove_user_from_blog( $user_id, get_network()->site_id ); // Remove user from main blog.
$result = add_user_to_blog( $blog_id, $user_id, $role );
if ( ! is_wp_error( $result ) ) {
update_user_meta( $user_id, 'primary_blog', $blog_id );
}
}
}注意事项
- 此函数是内部钩子函数,通常不应直接调用,而是通过 'wpmu_activate_user' 动作触发。
- 密码参数被忽略,实际用户密码处理在其他地方完成。
- 确保元数据数组包含 'add_to_blog' 和 'new_role' 键,否则函数可能不执行任何操作。
原文内容
Adds a newly created user to the appropriate blog
Description
To add a user in general, use add_user_to_blog() . This function is specifically hooked into the ‘wpmu_activate_user’ action.
See also
Parameters
$user_idintrequired-
User ID.
$passwordstringrequired-
User password. Ignored.
$metaarrayrequired-
Signup meta data.
Source
function add_new_user_to_blog(
$user_id,
#[SensitiveParameter]
$password,
$meta
) {
if ( ! empty( $meta['add_to_blog'] ) ) {
$blog_id = $meta['add_to_blog'];
$role = $meta['new_role'];
remove_user_from_blog( $user_id, get_network()->site_id ); // Remove user from main blog.
$result = add_user_to_blog( $blog_id, $user_id, $role );
if ( ! is_wp_error( $result ) ) {
update_user_meta( $user_id, 'primary_blog', $blog_id );
}
}
}
Changelog
| Version | Description |
|---|---|
| MU (3.0.0) | Introduced. |