Customizing the Subject Field in WordPress’ Notification Emails?

Can I customize and edit the subject field in the “Password Reset” notification mails sent from our multisite blogs? I have tried some plugins like My brand login and white label CMS etc. But I can’t edit this in password reset notifications .

Does anyone help me understand how to edit it ?

Update:

Today I tried with another installation .But it is not making any change.The Word ‘wordpress’ in from mail address is still there.I have added –

add_filter ( 'wp_mail_from_name', 'my_filter_that_outputs_the_new_name' );

to the code given by Doug .Am I missing something?Could you help me to solve this?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

You can change them using a filter. The filter hooks you want to use are:

  1. For the first email message (confirming they really want to reset the password):
    • 'retrieve_password_title'
    • 'retrieve_password_message'
  2. For the follow-up email message (sending the new username and password):
    • 'password_reset_title'
    • 'password_reset_message'

Update: To create and use these filters, put the following or similar code in your functions.php file:

function my_retrieve_password_subject_filter($old_subject) {
    // $old_subject is the default subject line created by WordPress.
    // (You don't have to use it.)

    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
    $subject = sprintf( __('[%s] Password Reset'), $blogname );
    // This is how WordPress creates the subject line. It looks like this:
    // [Doug's blog] Password Reset
    // You can change this to fit your own needs.

    // You have to return your new subject line:
    return $subject;
}

function my_retrieve_password_message_filter($old_message, $key) {
    // $old_message is the default message already created by WordPress.
    // (You don't have to use it.)
    // $key is the password-like token that allows the user to get 
    // a new password

    $message = __('Someone has asked to reset the password for the following site and username.') . "rnrn";
    $message .= network_site_url() . "rnrn";
    $message .= sprintf(__('Username: %s'), $user_login) . "rnrn";
    $message .= __('To reset your password visit the following address, otherwise just ignore this email and nothing will happen.') . "rnrn";
    $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "rn";

    // This is how WordPress creates the message. 
    // You can change this to meet your own needs.

    // You have to return your new message:
    return $message;
}

// To get these filters up and running:
add_filter ( 'retrieve_password_title', 'my_retrieve_password_subject_filter', 10, 1 );
add_filter ( 'retrieve_password_message', 'my_retrieve_password_message_filter', 10, 2 );

You would do something similar if you also want to modify the follow-up email. Use the WordPress code as a guide for creating the subject line and message (look for the variables $title and $message).


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x