验证新站点注册。

原型

validate_another_blog_signup()

返回值

(null|bool)  如果验证了站点注册,则为True,如果错误,则为false。如果用户未登录,该函数将暂停所有执行。

源文件

路径:wp-signup.php

<?php
...
function validate_another_blog_signup() {
	global $blogname, $blog_title, $errors, $domain, $path;
	$current_user = wp_get_current_user();
	if ( ! is_user_logged_in() ) {
		die();
	}
	$result = validate_blog_form();
	// Extracted values set/overwrite globals.
	$domain = $result['domain'];
	$path = $result['path'];
	$blogname = $result['blogname'];
	$blog_title = $result['blog_title'];
	$errors = $result['errors'];
	if ( $errors->get_error_code() ) {
		signup_another_blog($blogname, $blog_title, $errors);
		return false;
	}
	$public = (int) $_POST['blog_public'];
	$blog_meta_defaults = 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 ) ) {
			$language = wp_unslash( sanitize_text_field( $_POST['WPLANG'] ) );
			if ( $language ) {
				$blog_meta_defaults['WPLANG'] = $language;
			}
		}
	}
	/**
	 * Filters the new site meta variables.
	 *
	 * Use the {@see 'add_signup_meta'} filter instead.
	 *
	 * @since MU (3.0.0)
	 * @deprecated 3.0.0 Use the {@see 'add_signup_meta'} filter instead.
	 *
	 * @param array $blog_meta_defaults An array of default blog meta variables.
	 */
	$meta_defaults = apply_filters( 'signup_create_blog_meta', $blog_meta_defaults );
	/**
	 * Filters the new default site meta variables.
	 *
	 * @since 3.0.0
	 *
	 * @param array $meta {
	 *     An array of default site meta variables.
	 *
	 *     @type int $lang_id     The language ID.
	 *     @type int $blog_public Whether search engines should be discouraged from indexing the site. 1 for true, 0 for false.
	 * }
	 */
	$meta = apply_filters( 'add_signup_meta', $meta_defaults );
	$blog_id = wpmu_create_blog( $domain, $path, $blog_title, $current_user->ID, $meta, get_current_network_id() );
	if ( is_wp_error( $blog_id ) ) {
		return false;
	}
	confirm_another_blog_signup( $domain, $path, $blog_title, $current_user->user_login, $current_user->user_email, $meta, $blog_id );
	return true;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/validate_another_blog_signup/