函数文档

wpmu_signup_blog()

💡 云策文档标注

概述

wpmu_signup_blog() 函数用于记录站点注册信息,以便后续激活。它生成激活密钥,将数据插入数据库,并触发相关 Hook。

关键要点

  • 函数参数包括 $domain(域名)、$path(路径)、$title(站点标题)、$user(登录名)、$user_email(邮箱)和 $meta(元数据数组,可选)。
  • 内部生成 16 位激活密钥,并应用 signup_site_meta 过滤器处理元数据。
  • 使用 $wpdb->insert() 将数据写入 $wpdb->signups 表,包括序列化的元数据。
  • 触发 after_signup_site 动作,允许开发者在注册信息写入后执行自定义操作。
  • 相关 Hook 包括 signup_site_meta(过滤元数据)和 after_signup_site(写入后触发)。

代码示例

function wpmu_signup_blog( $domain, $path, $title, $user, $user_email, $meta = array() ) {
    global $wpdb;
    $key = substr( md5( time() . wp_rand() . $domain ), 0, 16 );
    $meta = apply_filters( 'signup_site_meta', $meta, $domain, $path, $title, $user, $user_email, $key );
    $wpdb->insert(
        $wpdb->signups,
        array(
            'domain'         => $domain,
            'path'           => $path,
            'title'          => $title,
            'user_login'     => $user,
            'user_email'     => $user_email,
            'registered'     => current_time( 'mysql', true ),
            'activation_key' => $key,
            'meta'           => serialize( $meta ),
        )
    );
    do_action( 'after_signup_site', $domain, $path, $title, $user, $user_email, $key, $meta );
}

📄 原文内容

Records site signup information for future activation.

Parameters

$domainstringrequired
The requested domain.
$pathstringrequired
The requested path.
$titlestringrequired
The requested site title.
$userstringrequired
The user’s requested login name.
$user_emailstringrequired
The user’s email address.
$metaarrayoptional
Signup meta data. By default, contains the requested privacy setting and lang_id.

Default:array()

Source

function wpmu_signup_blog( $domain, $path, $title, $user, $user_email, $meta = array() ) {
	global $wpdb;

	$key = substr( md5( time() . wp_rand() . $domain ), 0, 16 );

	/**
	 * Filters the metadata for a site signup.
	 *
	 * The metadata will be serialized prior to storing it in the database.
	 *
	 * @since 4.8.0
	 *
	 * @param array  $meta       Signup meta data. Default empty array.
	 * @param string $domain     The requested domain.
	 * @param string $path       The requested path.
	 * @param string $title      The requested site title.
	 * @param string $user       The user's requested login name.
	 * @param string $user_email The user's email address.
	 * @param string $key        The user's activation key.
	 */
	$meta = apply_filters( 'signup_site_meta', $meta, $domain, $path, $title, $user, $user_email, $key );

	$wpdb->insert(
		$wpdb->signups,
		array(
			'domain'         => $domain,
			'path'           => $path,
			'title'          => $title,
			'user_login'     => $user,
			'user_email'     => $user_email,
			'registered'     => current_time( 'mysql', true ),
			'activation_key' => $key,
			'meta'           => serialize( $meta ),
		)
	);

	/**
	 * Fires after site signup information has been written to the database.
	 *
	 * @since 4.4.0
	 *
	 * @param string $domain     The requested domain.
	 * @param string $path       The requested path.
	 * @param string $title      The requested site title.
	 * @param string $user       The user's requested login name.
	 * @param string $user_email The user's email address.
	 * @param string $key        The user's activation key.
	 * @param array  $meta       Signup meta data. By default, contains the requested privacy setting and lang_id.
	 */
	do_action( 'after_signup_site', $domain, $path, $title, $user, $user_email, $key, $meta );
}

Hooks

do_action( ‘after_signup_site’, string $domain, string $path, string $title, string $user, string $user_email, string $key, array $meta )

Fires after site signup information has been written to the database.

apply_filters( ‘signup_site_meta’, array $meta, string $domain, string $path, string $title, string $user, string $user_email, string $key )

Filters the metadata for a site signup.

Changelog

Version Description
MU (3.0.0) Introduced.