Custom Welcome Email for New Users
Rewrites the email new users receive with their login details, using your own subject and greeting while keeping the secure link to set a password.
Opens WPIDE on
Code
add_filter( 'wp_new_user_notification_email', function ( $email, $user, $blogname ) {
if ( ! preg_match( '#(https?://\S+action=rp\S+)#', $email['message'], $match ) ) {
return $email;
}
$set_password_url = rtrim( $match[1], '>' );
$email['subject'] = sprintf( 'Welcome to %s', $blogname );
$email['message'] = sprintf( "Hi %s,\n\n", $user->display_name ? $user->display_name : $user->user_login )
. sprintf( "Thanks for joining %s. Your username is: %s\n\n", $blogname, $user->user_login )
. "Set your password here:\n" . $set_password_url . "\n\n"
. 'Log in any time at ' . wp_login_url() . "\n\n"
. "See you soon!\n";
return $email;
}, 10, 3 );
Notes
Keep the $set_password_url line in the message, otherwise users cannot set their password.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.