WordPress Version: 6.2
/**
* Notifies a user that their account activation has been successful.
*
* Filter {@see 'wpmu_welcome_user_notification'} to disable or bypass.
*
* Filter {@see 'update_welcome_user_email'} and {@see 'update_welcome_user_subject'} to
* modify the content and subject line of the notification email.
*
* @since MU (3.0.0)
*
* @param int $user_id User ID.
* @param string $password User password.
* @param array $meta Optional. Signup meta data. Default empty array.
* @return bool
*/
function wpmu_welcome_user_notification($user_id, $password, $meta = array())
{
$current_network = get_network();
/**
* Filters whether to bypass the welcome email after user activation.
*
* Returning false disables the welcome email.
*
* @since MU (3.0.0)
*
* @param int $user_id User ID.
* @param string $password User password.
* @param array $meta Signup meta data. Default empty array.
*/
if (!apply_filters('wpmu_welcome_user_notification', $user_id, $password, $meta)) {
return false;
}
$welcome_email = get_site_option('welcome_user_email');
$user = get_userdata($user_id);
$switched_locale = switch_to_user_locale($user_id);
/**
* Filters the content of the welcome email after user activation.
*
* Content should be formatted for transmission via wp_mail().
*
* @since MU (3.0.0)
*
* @param string $welcome_email The message body of the account activation success email.
* @param int $user_id User ID.
* @param string $password User password.
* @param array $meta Signup meta data. Default empty array.
*/
$welcome_email = apply_filters('update_welcome_user_email', $welcome_email, $user_id, $password, $meta);
$welcome_email = str_replace('SITE_NAME', $current_network->site_name, $welcome_email);
$welcome_email = str_replace('USERNAME', $user->user_login, $welcome_email);
$welcome_email = str_replace('PASSWORD', $password, $welcome_email);
$welcome_email = str_replace('LOGINLINK', wp_login_url(), $welcome_email);
$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 user notification email subject. 1: Network title, 2: New user login. */
$subject = __('New %1$s User: %2$s');
/**
* Filters the subject of the welcome email after user activation.
*
* @since MU (3.0.0)
*
* @param string $subject Subject of the email.
*/
$subject = apply_filters('update_welcome_user_subject', sprintf($subject, $current_network->site_name, $user->user_login));
wp_mail($user->user_email, wp_specialchars_decode($subject), $message, $message_headers);
if ($switched_locale) {
restore_previous_locale();
}
return true;
}