在用户注册新网站时向用户发送确认请求电子邮件。在单击确认链接之前,新站点不会变为活动状态。
原型
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/