函数文档

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.

Return

bool True if the site sign-up was validated, false on error.

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.