在用户注册新网站时向用户发送确认请求电子邮件。在单击确认链接之前,新站点不会变为活动状态。

原型

wpmu_signup_blog_notification( string $domain, string $path, string $title, string $user_login, string $user_email, string $key, array $meta = array() )

描述

这是启用站点注册时使用的通知功能。

参数

$domain (string) (Required) 新的博客域名。

$path (string) (Required) 新的博客路径。

$title (string) (Required) 网站标题。

$user_login (string) (Required) 用户的登录名。

$user_email (string) (Required) 用户的电子邮件地址。

$key (string) (Required) 在wpmu_signup_blog()中创建的激活密钥

$meta (array) (Optional)  注册元数据。默认情况下,包含所请求的隐私设置和lang_id。

返回值

(bool)  

源文件

路径:wp-includes/ms-functions.php

<?php
...
function wpmu_signup_blog_notification( $domain, $path, $title, $user_login, $user_email, $key, $meta = array() ) {
	/**
	 * Filters whether to bypass the new site email notification.
	 *
	 * @since MU (3.0.0)
	 *
	 * @param string|bool $domain     Site domain.
	 * @param string      $path       Site path.
	 * @param string      $title      Site title.
	 * @param string      $user_login User login name.
	 * @param string      $user_email User email address.
	 * @param string      $key        Activation key created in wpmu_signup_blog().
	 * @param array       $meta       Signup meta data. By default, contains the requested privacy setting and lang_id.
	 */
	if ( ! apply_filters( 'wpmu_signup_blog_notification', $domain, $path, $title, $user_login, $user_email, $key, $meta ) ) {
		return false;
	}
	// Send email with activation link.
	if ( !is_subdomain_install() || get_current_network_id() != 1 )
		$activate_url = network_site_url("wp-activate.php?key=$key");
	else
		$activate_url = "http://{$domain}{$path}wp-activate.php?key=$key"; // @todo use *_url() API
	$activate_url = esc_url($activate_url);
	$admin_email = get_site_option( 'admin_email' );
	if ( $admin_email == '' )
		$admin_email = '[email protected]' . $_SERVER['SERVER_NAME'];
	$from_name = get_site_option( 'site_name' ) == '' ? 'WordPress' : esc_html( get_site_option( 'site_name' ) );
	$message_headers = "From: "{$from_name}" <{$admin_email}>n" . "Content-Type: text/plain; charset="" . get_option('blog_charset') . ""n";
	$user = get_user_by( 'login', $user_login );
	$switched_locale = switch_to_locale( get_user_locale( $user ) );
	$message = sprintf(
		/**
		 * Filters the message content of the new blog notification email.
		 *
		 * Content should be formatted for transmission via wp_mail().
		 *
		 * @since MU (3.0.0)
		 *
		 * @param string $content    Content of the notification email.
		 * @param string $domain     Site domain.
		 * @param string $path       Site path.
		 * @param string $title      Site title.
		 * @param string $user_login User login name.
		 * @param string $user_email User email address.
		 * @param string $key        Activation key created in wpmu_signup_blog().
		 * @param array  $meta       Signup meta data. By default, contains the requested privacy setting and lang_id.
		 */
		apply_filters( 'wpmu_signup_blog_notification_email',
			__( "To activate your blog, please click the following link:nn%snnAfter you activate, you will receive *another email* with your login.nnAfter you activate, you can visit your site here:nn%s" ),
			$domain, $path, $title, $user_login, $user_email, $key, $meta
		),
		$activate_url,
		esc_url( "http://{$domain}{$path}" ),
		$key
	);
	// TODO: Don't hard code activation link.
	$subject = sprintf(
		/**
		 * Filters the subject of the new blog notification email.
		 *
		 * @since MU (3.0.0)
		 *
		 * @param string $subject    Subject of the notification email.
		 * @param string $domain     Site domain.
		 * @param string $path       Site path.
		 * @param string $title      Site title.
		 * @param string $user_login User login name.
		 * @param string $user_email User email address.
		 * @param string $key        Activation key created in wpmu_signup_blog().
		 * @param array  $meta       Signup meta data. By default, contains the requested privacy setting and lang_id.
		 */
		apply_filters( 'wpmu_signup_blog_notification_subject',
			/* translators: New site notification email subject. 1: Network name, 2: New site URL */
			_x( '[%1$s] Activate %2$s', 'New site notification email subject' ),
			$domain, $path, $title, $user_login, $user_email, $key, $meta
		),
		$from_name,
		esc_url( 'http://' . $domain . $path )
	);
	wp_mail( $user_email, wp_specialchars_decode( $subject ), $message, $message_headers );
	if ( $switched_locale ) {
		restore_previous_locale();
	}
	return true;
}
...
?>

其他

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