WordPress Version: 6.2
/**
* Notifies the site administrator that their site activation was successful.
*
* Filter {@see 'wpmu_welcome_notification'} to disable or bypass.
*
* Filter {@see 'update_welcome_email'} and {@see 'update_welcome_subject'} to
* modify the content and subject line of the notification email.
*
* @since MU (3.0.0)
*
* @param int $blog_id Site ID.
* @param int $user_id User ID.
* @param string $password User password, or "N/A" if the user account is not new.
* @param string $title Site title.
* @param array $meta Optional. Signup meta data. By default, contains the requested privacy setting and lang_id.
* @return bool Whether the email notification was sent.
*/
function wpmu_welcome_notification($blog_id, $user_id, $password, $title, $meta = array())
{
$current_network = get_network();
/**
* Filters whether to bypass the welcome email sent to the site administrator after site activation.
*
* Returning false disables the welcome email.
*
* @since MU (3.0.0)
*
* @param int|false $blog_id Site ID, or false to prevent the email from sending.
* @param int $user_id User ID of the site administrator.
* @param string $password User password, or "N/A" if the user account is not new.
* @param string $title Site title.
* @param array $meta Signup meta data. By default, contains the requested privacy setting and lang_id.
*/
if (!apply_filters('wpmu_welcome_notification', $blog_id, $user_id, $password, $title, $meta)) {
return false;
}
$user = get_userdata($user_id);
$switched_locale = switch_to_user_locale($user_id);
$welcome_email = get_site_option('welcome_email');
if (false == $welcome_email) {
/* translators: Do not translate USERNAME, SITE_NAME, BLOG_URL, PASSWORD: those are placeholders. */
$welcome_email = __('Howdy USERNAME,
Your new SITE_NAME site has been successfully set up at:
BLOG_URL
You can log in to the administrator account with the following information:
Username: USERNAME
Password: PASSWORD
Log in here: BLOG_URLwp-login.php
We hope you enjoy your new site. Thanks!
--The Team @ SITE_NAME');
}
$url = get_blogaddress_by_id($blog_id);
$welcome_email = str_replace('SITE_NAME', $current_network->site_name, $welcome_email);
$welcome_email = str_replace('BLOG_TITLE', $title, $welcome_email);
$welcome_email = str_replace('BLOG_URL', $url, $welcome_email);
$welcome_email = str_replace('USERNAME', $user->user_login, $welcome_email);
$welcome_email = str_replace('PASSWORD', $password, $welcome_email);
/**
* Filters the content of the welcome email sent to the site administrator after site activation.
*
* Content should be formatted for transmission via wp_mail().
*
* @since MU (3.0.0)
*
* @param string $welcome_email Message body of the email.
* @param int $blog_id Site ID.
* @param int $user_id User ID of the site administrator.
* @param string $password User password, or "N/A" if the user account is not new.
* @param string $title Site title.
* @param array $meta Signup meta data. By default, contains the requested privacy setting and lang_id.
*/
$welcome_email = apply_filters('update_welcome_email', $welcome_email, $blog_id, $user_id, $password, $title, $meta);
$admin_email = get_site_option('admin_email');
if ('' === $admin_email) {
$admin_email = 'support@' . wp_parse_url(network_home_url(), PHP_URL_HOST);
}
$from_name = ('' !== get_site_option('site_name')) ? esc_html(get_site_option('site_name')) : 'WordPress';
$message_headers = "From: \"{$from_name}\" <{$admin_email}>\n" . 'Content-Type: text/plain; charset="' . get_option('blog_charset') . "\"\n";
$message = $welcome_email;
if (empty($current_network->site_name)) {
$current_network->site_name = 'WordPress';
}
/* translators: New site notification email subject. 1: Network title, 2: New site title. */
$subject = __('New %1$s Site: %2$s');
/**
* Filters the subject of the welcome email sent to the site administrator after site activation.
*
* @since MU (3.0.0)
*
* @param string $subject Subject of the email.
*/
$subject = apply_filters('update_welcome_subject', sprintf($subject, $current_network->site_name, wp_unslash($title)));
wp_mail($user->user_email, wp_specialchars_decode($subject), $message, $message_headers);
if ($switched_locale) {
restore_previous_locale();
}
return true;
}