Comment changer le courrier électronique d'inscription par défaut? (plugin et / ou non-plugin)

50

Après une nouvelle inscription d'utilisateur, WP envoie un courrier électronique avec le nom d'utilisateur / mot de passe et un lien vers la page de connexion.

Existe-t-il un moyen de changer ce modèle de courrier électronique par défaut? J'aimerais également changer de sujet et d'expéditeur.

Modifier: pour les personnes intéressées, here est une solution plug-in.

    
posée mike23 21.04.2011 - 12:24
la source

3 réponses

60

l'e-mail du nouvel utilisateur est envoyé à l'aide de la fonction wp_new_user_notification() qui est connectable, ce qui signifie que vous pouvez l'écraser:

// Redefine user notification function
if ( !function_exists('wp_new_user_notification') ) {
    function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
        $user = new WP_User($user_id);

        $user_login = stripslashes($user->user_login);
        $user_email = stripslashes($user->user_email);

        $message  = sprintf(__('New user registration on your blog %s:'), get_option('blogname')) . "\r\n\r\n";
        $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
        $message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n";

        @wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);

        if ( empty($plaintext_pass) )
            return;

        $message  = __('Hi there,') . "\r\n\r\n";
        $message .= sprintf(__("Welcome to %s! Here's how to log in:"), get_option('blogname')) . "\r\n\r\n";
        $message .= wp_login_url() . "\r\n";
        $message .= sprintf(__('Username: %s'), $user_login) . "\r\n";
        $message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n\r\n";
        $message .= sprintf(__('If you have any problems, please contact me at %s.'), get_option('admin_email')) . "\r\n\r\n";
        $message .= __('Adios!');

        wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_option('blogname')), $message);

    }
}
    
réponse donnée Bainternet 21.04.2011 - 15:15
la source
16

Pour les utilisateurs à partir de 2018:

Depuis WordPress 4.9.0, il existe de nouveaux filtres que vous pouvez utiliser pour cela (plus besoin d'un plugin):

Exemple d'utilisation d'un courrier électronique envoyé à l'administrateur (vous pouvez le coller dans le functions.php de votre thème):

add_filter( 'wp_new_user_notification_email_admin', 'custom_wp_new_user_notification_email', 10, 3 );

function custom_wp_new_user_notification_email( $wp_new_user_notification_email, $user, $blogname ) {
    $wp_new_user_notification_email['subject'] = sprintf( '[%s] New user %s registered.', $blogname, $user->user_login );
    $wp_new_user_notification_email['message'] = sprintf( "%s ( %s ) has registerd to your blog %s.", $user->user_login, $user->user_email, $blogname );
    return $wp_new_user_notification_email;
}
    
réponse donnée Edu Wass 03.01.2018 - 12:54
la source
3

Cela ne fonctionnera pas sur functions.php, vous devez insérer ce code dans le plugin.

si vous ne voulez pas créer de plug-in à cette fin, utilisez ce link

n'oubliez pas de prendre le code de mise à jour de cette forme de fonction ici

    
réponse donnée Erez Lieberman 17.09.2015 - 15:45
la source

Lire d'autres questions sur les étiquettes