Notifies a user that their account activation has been successful.
Description
Filter ‘wpmu_welcome_user_notification’ to disable or bypass.
Filter ‘update_welcome_user_email’ and ‘update_welcome_user_subject’ to modify the content and subject line of the notification email.
Parameters
$user_id
intrequired- User ID.
$password
stringrequired- User password.
$meta
arrayoptional- Signup meta data.
Default:
array()
Source
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;
}
Hooks
- apply_filters( ‘update_welcome_user_email’,
string $welcome_email ,int $user_id ,string $password ,array $meta ) Filters the content of the welcome email after user activation.
- apply_filters( ‘update_welcome_user_subject’,
string $subject ) Filters the subject of the welcome email after user activation.
- apply_filters( ‘wpmu_welcome_user_notification’,
int $user_id ,string $password ,array $meta ) Filters whether to bypass the welcome email after user activation.
Changelog
Version | Description |
---|---|
MU (3.0.0) | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.