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 ?


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?


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.') . "\r\n\r\n";
    $message .= network_site_url() . "\r\n\r\n";
    $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
    $message .= __('To reset your password visit the following address, otherwise just ignore this email and nothing will happen.') . "\r\n\r\n";
    $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";

    // 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).

  • 1
    I've added some sample code for creating the filters above. See the Codex article I linked to for more detail.
    – Doug
    Sep 3 '10 at 13:52
  • Thanks for your kind help . I will try it. Could you also help me customizing the From address in Password Reset notification mails-"WordPress <admin@mydomain.com> .Here WordPress should be replaced with my site name .
    – user391
    Sep 3 '10 at 14:12
  • add_filter ( 'wp_mail_from_name', 'my_filter_that_outputs_the_new_name' );
    – Doug
    Sep 3 '10 at 15:00
  • Success ! Wordpress has been replaced with the mail address -Admin . Thank you for helping me !
    – user391
    Sep 4 '10 at 6:29
  • You're quite welcome! Glad I could help.
    – Doug
    Sep 4 '10 at 12:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.