wake-up-neo.com

Wie ändere ich die Standard-Registrierungs-E-Mail? (Plugin und/oder Nicht-Plugin)

Nach einer neuen Benutzerregistrierung sendet WP eine E-Mail mit dem Login/Passwort und einem Link zur Login-Seite.

Gibt es eine Möglichkeit, diese Standard-E-Mail-Vorlage zu ändern? Ich möchte auch das Thema und den Absender ändern.

Edit: Für alle Interessierten ist hier eine Plugin-Lösung.

52
mike23

die neue Benutzer-E-Mail wird mit der Funktion wp_new_user_notification() gesendet, die steckbar ist und die Sie überschreiben können:

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

    }
}
60
Bainternet

Für Benutzer ab 2018:

Seit WordPress 4.9.0 gibt es neue Filter, die Sie dafür verwenden können (kein Plugin mehr erforderlich):

Verwendungsbeispiel für eine E-Mail an Admin (Sie können dies in die Datei functions.php Ihres Themas einfügen):

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;
}
19
Edu Wass

Dies funktioniert nicht mit functions.php, Sie müssen diesen Code in das Plugin einfügen.

wenn du jetzt kein plugin dafür machst benutze einfach diesen link

vergiss nicht den update code dieser funktion zu nehmen hier

3
Erez Lieberman