Comment changer l'email d'inscription par défaut?(plugin et / ou non-plugin)
3 réponses
- votes
-
- 2011-04-21
Lenouvele-mail de l'utilisateurestenvoyé à l'aide de lafonction
wp_new_user_notification()
. Cettefonctionestenfichable,ce qui signifie que vouspouvez 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); } }
Remarque: Le remplacement desfonctionsenfichablesne peutpas êtreeffectué dans lefichier dethèmefunctions.php. Lefichierenfichable de WPest déjà chargé à cepoint,donc lafonction serait définiepar WP (c'est-à-dire la valeurpar défaut). Votre versionpersonnalisée doit charger avant que celane seproduise,ce qui signifie que vous devez la charger dans unfichier deplug-inpersonnalisé.
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 Jen'arrivepas àfairefonctionner cela,j'ai ajouté cela àmonfichier defonctions,mais le courrier électronique standard continue d'envoyer.Je suis surplusieurs sites,mais celane devraitpas avoir d'importance,non?@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,je l'aimaintenant,ilne semblefonctionner que comme unplugin séparé,pas lorsque vous l'ajoutez à votrefichier `functions.php`.Maintenant,celafonctionneparfaitement,merciencorepour cejolimorceau de 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!
-
Celafonctionne-t-il aussipour lemultisite?Jepeux voir que lemultisite a untas defonctions dansms-functions.phppourenvoyer une-mail denotification.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
-
Lemultisite utilise `wpmu_signup_user_notification`je pense.Multisite uses `wpmu_signup_user_notification` I think.
- 0
- 2014-11-25
- Wyck
-
Cette réponse date deplusieurs années.La réponse acceptéene fonctionnepaspourmoi.(L'ajouter àfunctions.phpn'afait aucune différencepour aucun dese-mailsenvoyés lorsqu'unnouvel utilisateur s'inscrit.) Dois-jepublier unenouvelle question?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
-
À lafin,j'aitrouvé du code qui afonctionnépourmoi dans cetutoriel: 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
-
Pour répondre aux commentairesindiquant que celane fonctionnepas dansfunctions.php,c'estparce que vousne pouvezpas charger une versionpersonnalisée d'unefonctionenfichable aussitard.Celan'a rien à voir avec lefait que la réponseest ancienne.Vous devez définir votrefonctionpersonnalisée avant le chargement de la version WP.Lorsqu'ilest chargé dansfunctions.php,la versionpar défaut dupluginest déjà définie.Vous devez le charger *en tant queplugin * (iln'y a aucune différenceentre la réponse donnéeet le lien Kitposté autre que l'étape supplémentaire de le chargeren tant queplugin).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
Pour les utilisateurs de 2018et suivants:
Depuis WordPress 4.9.0,vouspouvez utiliser denouveauxfiltres (plusbesoin deplugin):
- wp_new_user_notification_email -personnaliser l'e-mailenvoyé à l'utilisateur
- wp_new_user_notification_email_admin -personnaliser l'e-mailenvoyé à l'administrateur
Exemple d'utilisation d'une-mailenvoyé à l'administrateur (vouspouvez le coller dans le functions.php de votrethè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; }
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; }
-
Vouspouvez également utiliser lesfiltres `wp_new_user_notification_email`et` wp_new_user_notification_email_admin`.Lespersonnesintéresséespeuvent consulter la [documentation complèteet le code source] (https://developer.wordpress.org/reference/functions/wp_new_user_notification/)pour `wp_new_user_notification ()`.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
-
Merci Pete,ça ressemble à ça a étéintroduit dans la 4.9.0et ça ressemble à unemeilleure solution.Thanks Pete, looks like that was introduced in 4.9.0 and looks like a better solution.
- 0
- 2018-01-10
- Edu Wass
-
Salut.J'utilise également leplugin WP Approve User. Pour lemoment,ilenvoie l'e-mail standard lors de leurinscription.Çane devraitpas.Cela devraitindiquer que le compte doit d'abord être approuvé. Nous approuvons l'utilisateur a lapossibilité de définir letextepour lemoment où le compte a été approuvéet que celafonctionne correctement.C'est l'étapepré-approuvée avant. Dois-je utiliser cesnouveauxfiltres que vous avezmentionnés?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
Celane fonctionnerapas surfunctions.php.Vous devezmettre ce code dans unplugin.
Si vousne souhaitezpas créer depluginpour cela,utilisez simplement ceci lien .
N'oubliezpas deprendre le code demise àjour de cettefonction ici .
-
Juste unpoint de clarificationbasé sur l'ajout de crochets defiltre à lafonction `wp_new_user_notification ()`.Cette réponsefait spécifiquement référence au remplacement de `wp_new_user_notification ()`en tant quefonctionenfichable.Cependant,ceci **ne s'appliquepas ** à l'utilisation desfiltres `wp_new_user_notification_email`et` wp_new_user_notification_email_admin`.Ceux-cipeuvent être utilisés dans votrefichierfunctions.php (ou [unplugin spécifique au site] (https://wpbitz.com/how-to-create-a-site-specific-plugin/)).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
Après l'enregistrement d'unnouvel utilisateur,WPenvoie une-mail avec le login/mot depasseet un lien vers lapage de connexion.
Existe-t-il unmoyen demodifier cemodèle d'e-mailpar défaut?J'aimerais également changer le sujetet l'expéditeur.
Edit: Pourtoutepersonneintéressée,ici est une solution deplugin.