Como alterar o e-mail de registro padrão?(plugin e / ou não plugin)
3 respostas
- votos
-
- 2011-04-21
Onovoe-mail do usuário éenviado usando o
wp_new_user_notification()
função. Estafunção éplugada,o que significa que vocêpode sobrescrevê-lo:// 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); } }
NOTA: Asfunçõesplugáveis nãopodem serfeitasno arquivo Functions.php dotema. O arquivoplugável da WPjáestá carregadoporesseponto,para que afunção seja definidapelo WP (i.E. opadrão). Sua versãopersonalizada deve carregar antes Isso acontece,o que significa que você deve carregá-loem um arquivo deplug-inpersonalizado.
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.
-
@Bainnet Eunão consigofazerissofuncionar,eu adicioneiisso aomeu arquivo defunções,mas oemailpadrão continuaenviando.Euestouem multisite,masissonão deveimportar,certo?@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,acabou agora,parecefuncionar como umplugin separado,não quando você adiciona ao seu arquivo `Functions.php`.Agorafuncionaperfeito,obrigadonovamenteporessebelopedaço de código!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!
-
Funcionaparamultisitetambém?Euposso vermultisitetem bando defunções dentro do MS-Functions.phpparaenviare-mail denotificação.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 usa `wpmu_signup_user_notification`eu acho.Multisite uses `wpmu_signup_user_notification` I think.
- 0
- 2014-11-25
- Wyck
-
Esta respostatem vários anos.A resposta aceitanãofuncionaparamim.(Adicionando-se afunções.phpnãofaz diferençapara qualquer um dose-mailsenviados quando umnovo usuário registra.) Devopostar umanovapergunta?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
-
Nofinal,encontrei algum código quefuncionouparamim nestetutorial: 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
-
Para resolver os comentários sobreelenãofuncionarem funções.php,isto éporque vocênãopode carregar uma versãopersonalizada de umafunçãoplugável quetarde.Nãotem nada a ver com a resposta sendo velha.Você deve definir suafunçãopersonalizada antes que a versão WP seja carregada.Quando carregadoem funções.php,a versãopadrão dopluginjáestá definida.Vocêtem que carregá-lo * como umplugin * (não há diferençaentre a respostafornecidae o kit de linkpostado diferente daetapaextra de carregá-lo como umplug-in).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
para usuários de 2018e emfrente:
Desde o WordPress 4.9.0 Existemnovosfiltros que vocêpode usarparaisso (não hámaisnecessidade de umplugin):
- wp_new_user_notification_email - Personalizare-mailenviado ao usuário
- wp_new_user_notification_email_admin -personalizare-mailenviadopara admin
Exemplo de usoem e-mailenviadopara admin (vocêpode colarissono seutema funções.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; }
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; }
-
Alternativamente,pode-se usar osfiltros `WP_NEW_USER_NOTIFICAÇÃO_EMAIL_NEW_USER_NOTIFICATION_EMAIL_ADMIN.Osinteressadospodem verificar a [documentação completae código-fonte] (https://developer.wordpress.org/reference/functions/wp_new_user_notification/)para `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
-
Obrigado Pete,parece quefoiintroduzidoem 4.9.0e parece uma soluçãomelhor.Thanks Pete, looks like that was introduced in 4.9.0 and looks like a better solution.
- 0
- 2018-01-10
- Edu Wass
-
Oi.Eutambémestou usando oplugin do usuário do WP Aprovar. Nomomento,eleenvia oemailpadrão quandoeles seinscrevem.Não deveria.Deve dizer que a contaprecisa ser aprovadaprimeiro. Aprovamos o usuáriotem opção de definir otexto quando a contafoi aprovadae queestejafuncionando corretamente.É opassopré-aprovado antes. Eu usoessesnovosfiltros que vocêmencionou?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
Issonãofuncionaráem funções.php.Vocêprecisa colocareste código dentro de umplugin.
Se vocênãofizer agoraparafazer umpluginparaisso,basta usareste link .
Não seesqueça defazer o código de atualização destafunção aqui .
.-
Apenas umponto deesclarecimento combasena adição deganchos defiltropara afunção `wp_new_user_notification ().Esta resposta referenciaespecificamente a substituição de `wp_new_user_notification () ') como umafunçãoplugada.Noentanto,este **não se aplica **para usar osfiltros `wp_new_user_notification_email`e` wp_new_user_notification_email_admin`.Aquelespodem ser usadosem seu arquivofunctions.php (ou [pluginespecífico do 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
Após umnovo registro de usuário,o WPenvia ume-mail com o login/senhae um linkpara apágina de login.
Existe umamaneira de alterarestemodelo dee-mail de Defaut?Eutambémgostaria demudar o assuntoe remetente.
editar:para qualquerpessoainteressada, aqui é uma solução deplugin.