Wie ändere ich die Standard-Registrierungs-E-Mail?(Plugin und / oder Nicht-Plugin)
3 Antworten
- Stimmen
-
- 2011-04-21
Dieneue Benutzer-E-Mail wirdmit der Funktion
wp_new_user_notification()
gesendet. Diese Funktionist steckbar,dh Sie können sie überschreiben:// 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); } }
Hinweis: Das Überschreiben von steckbaren Funktionen kannin der Dateithemefunctions.phpnicht ausgeführt werden. Die steckbare Datei von WPist zu diesem Zeitpunktbereitsgeladen,sodass die Funktion von WP definiert wird (d. H. Die Standardeinstellung). Ihrebenutzerdefinierte Versionmuss geladen werden,bevor diesgeschieht. Diesbedeutet,dass Sie siein einebenutzerdefinierte Plugin-Datei ladenmüssen.
The new user email is sent using the
wp_new_user_notification()
function. This function is pluggable, which means that you can overwrite it:// 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); } }
Note: Overriding pluggable functions cannot be done in the theme functions.php file. WP's pluggable file is already loaded by that point so the function would be defined by WP (i.e. the default). Your custom version must load before this happens, which means you must load it in a custom plugin file.
-
@Bainternet Ich kann das anscheinendnicht zum Laufenbringen. Ich habeesmeiner Funktionsdatei hinzugefügt,aber die Standard-E-Mail wird weiterhingesendet.Ichbin auf Multisite,aber das sollte keine Rolle spielen,oder?@Bainternet I cannot seem to get this to work, I have added this to my functions file, but the standard email keeps sending. I'm on multisite, but that shouldn't matter, right?
-
OK,jetzt,es scheintnur als separates Plugin zufunktionieren,nicht wenn Siees zu Ihrer Datei `functions.php` hinzufügen.Jetztfunktioniertesperfekt,nochmals vielen Dankfür diesen schönen Code!OK got it now, it only seems to work as a separate plugin, not when you add it to your `functions.php` file. Now it works perfect, thanks again for that nice piece of code!
-
Funktioniertes auchfür Multisite?Ich kann sehen,dass Multisiteeine Reihe von Funktionenin ms-functions.php zum Senden von Benachrichtigungs-E-Mailsenthält.Does it works for multisite too? I can see multisite has bunch of functions inside ms-functions.php for sending notification email.
- 0
- 2013-07-28
- Sisir
-
Multisite verwendet "wpmu_signup_user_notification",denkeich.Multisite uses `wpmu_signup_user_notification` I think.
- 0
- 2014-11-25
- Wyck
-
Diese Antwortistmehrere Jahre alt.Die akzeptierte Antwortfunktioniertbei mirnicht.(Das Hinzufügen zufunctions.php hat keinen Einfluss auf die E-Mails,diebei der Registrierungeinesneuen Benutzersgesendet werden.) Sollicheine neue Frage stellen?This answer is several years old. The accepted answer doesn't work for me. (Adding it to functions.php has makes no difference to any of the emails sent when a new user registers.) Should I post a new question?
- 0
- 2015-04-21
- Kit Johnson
-
Am Ende habeichin diesem Tutorialeinen Codegefunden,derfürmichfunktioniert hat: http://www.webtipblog.com/change-wordpress-user-registration-welcome-email/In the end I found some code that worked for me in this tutorial: http://www.webtipblog.com/change-wordpress-user-registration-welcome-email/
- 0
- 2015-04-24
- Kit Johnson
-
Um die Kommentare zu adressieren,dassesin functions.phpnichtfunktioniert,können Sie so spät keinebenutzerdefinierte Versioneiner steckbaren Funktion laden.Es hatnichts damit zutun,dass die Antwort altist.Siemüssen Ihrebenutzerdefinierte Funktion definieren,bevor die WP-Versiongeladen wird.Beim Ladenin functions.phpist die Standardversion des Pluginsbereits definiert.Siemüssenes * als Plugin * laden (esgibt keinen Unterschied zwischen der angegebenen Antwort und dem veröffentlichten Link-Kit,außer dem zusätzlichen Schritt des Ladens als Plugin).To address the comments regarding it not working in functions.php, that's because you can't load a custom version of a pluggable function that late. It has nothing to do with the answer being old. You must define your custom function before the WP version is loaded. When loaded in functions.php, the default version of the plugin is already defined. You have to load it *as a plugin* (there's no difference between the answer given and the link Kit posted other than the extra step of loading it as a plugin).
- 0
- 2019-12-09
- butlerblog
-
- 2018-01-03
Für Benutzer ab 2018:
Seit WordPress 4.9.0gibt esneue Filter,die Sie dafür verwenden können (kein Pluginmehrerforderlich):
- wp_new_user_notification_email - Passen Sie die an Benutzer gesendete E-Mail an
- wp_new_user_notification_email_admin - An E-Mailgesendete E-Mail anpassen
Verwendungsbeispielfür E-Mails an den Administrator (Sie können diesin die functions.php Ihres Themaseinfü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; }
For 2018 and onwards users:
Since WordPress 4.9.0 there are new filters you can use for this (no need for a plugin anymore):
- wp_new_user_notification_email - customise email sent to User
- wp_new_user_notification_email_admin - customise email sent to Admin
Usage example on email sent to Admin (you can paste this in your theme's functions.php ):
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; }
-
Alternativ könnteman die Filter `wp_new_user_notification_email` und` wp_new_user_notification_email_admin` verwenden.Interessenten könnenin der [vollständigen Dokumentation undim Quellcode] (https://developer.wordpress.org/reference/functions/wp_new_user_notification/)nach "wp_new_user_notification ()" suchen.Alternatively one could use the `wp_new_user_notification_email` and `wp_new_user_notification_email_admin` filters. Those interested can check out the [full documentation and source code](https://developer.wordpress.org/reference/functions/wp_new_user_notification/) for `wp_new_user_notification()`.
- 1
- 2018-01-10
- Pete
-
Danke Pete,sieht so aus,als wäre dasin 4.9.0eingeführt worden und siehtnacheinerbesseren Lösung aus.Thanks Pete, looks like that was introduced in 4.9.0 and looks like a better solution.
- 0
- 2018-01-10
- Edu Wass
-
Hallo.Ich verwende auch das WP Approve User Plugin. Im Moment wird die Standard-E-Mailgesendet,wenn sie sich anmelden.Es solltenicht.Es sollte heißen,dass das Konto zuerstgenehmigt werdenmuss. Wirgenehmigen Der Benutzer hat die Möglichkeit,den Textfestzulegen,wenn das Kontogenehmigt wurde und dies ordnungsgemäßfunktioniert.Diesist der vorabgenehmigte Schritt zuvor. Benutzeich dieseneuen Filter,die Sieerwähnt haben?Hi. I am also using the WP Approve User plugin. At the moment it sends the standard email when they sign up. It shouldn’t. It should say that account needs to be approved first. We Approve User has option to set the text for when the account has been approved and that is working right. It is the pre approved step before. Do I use these new filters you mentioned?
- 0
- 2019-12-08
- Andrew Truckle
-
- 2015-09-17
Diesfunktioniertnichtin functions.php.Siemüssen diesen Codein ein Plugineinfügen.
Wenn Siejetzt kein Plugin dafürerstellenmöchten,verwenden Sieeinfach dieses link .
Vergessen Sienicht,den Aktualisierungscode dieses Funktionsformulars hier zu verwenden.
-
Nurein Punkt der Klarstellung,der auf dem Hinzufügen von Filter-Hooks zur Funktion `wp_new_user_notification ()`basiert.Diese Antwortbezieht sich speziell auf das Überschreiben von "wp_new_user_notification ()" als steckbare Funktion.Diesgiltjedochnichtfür die Verwendung der Filter "wp_new_user_notification_email" und "wp_new_user_notification_email_admin".Diese könnenin Ihrer Dateifunctions.php (oder [einem Site-spezifischen Plugin] (https://wpbitz.com/how-to-create-a-site-specific-plugin/)) verwendet werden.Just a point of clarification based on the addition of filter hooks to the `wp_new_user_notification()` function. This answer specifically references the overriding of `wp_new_user_notification()` as a pluggable function. However, this **does not apply** to using the `wp_new_user_notification_email` and `wp_new_user_notification_email_admin` filters. Those can be used in your functions.php file (or [a site specific plugin](https://wpbitz.com/how-to-create-a-site-specific-plugin/)).
- 0
- 2019-12-09
- butlerblog
Nacheinerneuen Benutzerregistrierung sendet WPeine E-Mailmit dem Login/Passwort undeinem Link zur Login-Seite.
Gibteseine Möglichkeit,diese standardmäßige E-Mail-Vorlage zu ändern?Ichmöchte auch das Thema und den Absender wechseln.
Bearbeiten: Für alle Interessiertenist hier eine Plugin-Lösung.