web-dev-qa-db-fra.com

Personnaliser le sujet dans les courriels de notification de WordPress?

Puis-je personnaliser et modifier le champ Objet dans les e-mails de notification "Réinitialisation du mot de passe" envoyés depuis nos blogs multisites? J'ai essayé des plugins tels que mon identifiant de marque et mon label CMS, etc. Mais je ne peux pas l'éditer dans les notifications de réinitialisation de mot de passe.

Est-ce que quelqu'un m'aide à comprendre comment le modifier?

Mettre à jour:

Aujourd'hui, j'ai essayé avec une autre installation .Mais cela ne change rien. Le mot 'wordpress' dans l'adresse mail est toujours là.J'ai ajouté -

add_filter ( 'wp_mail_from_name', 'my_filter_that_outputs_the_new_name' );

au code donné par Doug .Am je manque quelque chose? Pourriez-vous m'aider à résoudre ce problème?

4
user391

Vous pouvez les changer en utilisant un filtre . Les crochets de filtre que vous souhaitez utiliser sont:

  1. Pour le message premier e-mail (confirmant qu'ils souhaitent réellement réinitialiser le mot de passe):
    • 'retrieve_password_title'
    • 'retrieve_password_message'
  2. Pour le email de suivi (envoi du nouveau nom d'utilisateur et du nouveau mot de passe):
    • 'password_reset_title'
    • 'password_reset_message'

Update: Pour créer et utiliser ces filtres, insérez le code suivant ou un code similaire dans votre fichier functions.php:

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

Vous feriez quelque chose de similaire si vous souhaitez également modifier le email de suivi. Utilisez le code WordPress comme guide pour la création de la ligne d'objet et du message (recherchez les variables $title et $message).

6
Doug