validate_blog_signup()
云策文档标注
概述
validate_blog_signup() 函数用于验证新站点的注册信息,包括用户和博客数据的有效性,并处理语言设置等元数据。它返回布尔值表示验证是否成功。
关键要点
- 函数验证用户注册信息(通过 wpmu_validate_user_signup())和博客注册信息(通过 wpmu_validate_blog_signup())。
- 如果验证失败,会调用 signup_user() 或 signup_blog() 显示错误表单并返回 false。
- 验证成功后,处理语言设置(如 WPLANG),并通过 wpmu_signup_blog() 记录站点注册信息。
- 使用 apply_filters('add_signup_meta', $meta) 钩子过滤新站点的元数据。
- 返回 true 表示验证成功,false 表示错误。
代码示例
// 示例调用 validate_blog_signup() 函数
$result = validate_blog_signup();
if ($result) {
echo '站点注册验证成功';
} else {
echo '站点注册验证失败';
}注意事项
- 此函数是 WordPress 多站点功能的一部分,主要用于处理新站点注册流程。
- 依赖 $_POST 数据,确保在调用前已正确设置相关表单字段。
- 相关函数包括 wpmu_validate_user_signup()、wpmu_validate_blog_signup() 和 wpmu_signup_blog()。
原文内容
Validates new site signup.
Source
function validate_blog_signup() {
// Re-validate user info.
$user_result = wpmu_validate_user_signup( $_POST['user_name'], $_POST['user_email'] );
$user_name = $user_result['user_name'];
$user_email = $user_result['user_email'];
$user_errors = $user_result['errors'];
if ( $user_errors->has_errors() ) {
signup_user( $user_name, $user_email, $user_errors );
return false;
}
$result = wpmu_validate_blog_signup( $_POST['blogname'], $_POST['blog_title'] );
$domain = $result['domain'];
$path = $result['path'];
$blogname = $result['blogname'];
$blog_title = $result['blog_title'];
$errors = $result['errors'];
if ( $errors->has_errors() ) {
signup_blog( $user_name, $user_email, $blogname, $blog_title, $errors );
return false;
}
$public = (int) $_POST['blog_public'];
$signup_meta = array(
'lang_id' => 1,
'public' => $public,
);
// Handle the language setting for the new site.
if ( ! empty( $_POST['WPLANG'] ) ) {
$languages = signup_get_available_languages();
if ( in_array( $_POST['WPLANG'], $languages, true ) ) {
$language = wp_unslash( sanitize_text_field( $_POST['WPLANG'] ) );
if ( $language ) {
$signup_meta['WPLANG'] = $language;
}
}
}
/** This filter is documented in wp-signup.php */
$meta = apply_filters( 'add_signup_meta', $signup_meta );
wpmu_signup_blog( $domain, $path, $blog_title, $user_name, $user_email, $meta );
confirm_blog_signup( $domain, $path, $blog_title, $user_name, $user_email, $meta );
return true;
}
Hooks
- apply_filters( ‘add_signup_meta’, array $meta )
-
Filters the new default site meta variables.
Changelog
| Version | Description |
|---|---|
| MU (3.0.0) | Introduced. |