Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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?

share|improve this question

1 Answer 1

up vote 6 down vote accepted

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

share|improve this answer
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

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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