기본 등록 이메일을 변경하는 방법은 무엇입니까?(플러그인 및 / 또는 비 플러그인)
3 대답
- 투표
-
- 2011-04-21
새 사용자 이메일은
wp_new_user_notification()
함수를 사용하여 전송됩니다. 이 기능은 플러그 가능하므로 덮어 쓸 수 있습니다.// 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); } }
참고 : 플러그인 기능을 재정의하는 것은 테마functions.php 파일에서 수행 할 수 없습니다. WP의 플러그 가능 파일은 이미 해당 지점에서로드되었으므로 기능은 WP (즉,기본값)에 의해 정의됩니다. 맞춤 버전은이 문제가 발생하기 전에 로드되어야합니다. 즉,맞춤 플러그인 파일에로드해야합니다.
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.
-
다중 사이트에서도 작동합니까?multisite에는 알림 이메일을 보내는ms-functions.php 내부에 많은 기능이 있음을 알 수 있습니다.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는`wpmu_signup_user_notification`을 사용한다고 생각합니다.Multisite uses `wpmu_signup_user_notification` I think.
- 0
- 2014-11-25
- Wyck
-
이 답변은 몇 년 전입니다.받아 들인 대답이 저에게 효과가 없습니다.(functions.php에 추가해도 새 사용자가 등록 할 때 전송되는 이메일에는 차이가 없습니다.) 새 질문을 게시해야합니까?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
-
결국 나는이 튜토리얼에서 저에게 도움이되는 코드를 찾았습니다 : 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
-
functions.php에서 작동하지 않는 것에 관한 주석을 해결하기 위해,그 이유는 플러그인 가능한 함수의 사용자 정의 버전을 그렇게 늦게로드 할 수 없기 때문입니다.대답이 낡은 것과는 아무런 관련이 없습니다.WP 버전이로드되기 전에 사용자 지정 함수를 정의해야합니다.functions.php에로드되면 플러그인의 기본 버전이 이미 정의되어 있습니다.* 플러그인 *으로로드해야합니다 (제공된 답변과 게시 된 링크 키트 간에는 플러그인으로로드하는 추가 단계 외에는 차이가 없습니다).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
2018 년 이상 사용자 :
WordPress 4.9.0부터이를 위해 사용할 수있는 새로운 필터가 있습니다 (더 이상 플러그인이 필요하지 않음) :
- wp_new_user_notification_email -사용자에게 전송되는 이메일 맞춤 설정
- wp_new_user_notification_email_admin -관리자에게 전송되는 이메일 맞춤 설정
관리자에게 보낸 이메일의 사용 예 (테마의 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; }
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; }
-
또는`wp_new_user_notification_email` 및`wp_new_user_notification_email_admin` 필터를 사용할 수 있습니다.관심있는 분들은`wp_new_user_notification ()`에 대한 [전체 문서 및 소스 코드] (https://developer.wordpress.org/reference/functions/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
-
감사합니다 Pete,4.9.0에서 도입 된 것처럼 보이며 더 나은 솔루션으로 보입니다.Thanks Pete, looks like that was introduced in 4.9.0 and looks like a better solution.
- 0
- 2018-01-10
- Edu Wass
-
안녕.WP Approve User 플러그인도 사용하고 있습니다. 현재 가입 할 때 표준 이메일을 보냅니다.안됩니다.계정을 먼저 승인해야한다고 표시되어야합니다. We Approve User에는 계정이 승인되고 올바르게 작동하는 텍스트를 설정할 수있는 옵션이 있습니다.이전에 사전 승인 된 단계입니다. 언급하신 새 필터를 사용합니까?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
functions.php에서는 작동하지 않습니다.이 코드를 플러그인 안에 넣어야합니다.
지금 플러그인을 만들지 않으려면이 링크 .
여기 에서이 함수 양식의 업데이트 코드를 가져 오는 것을 잊지 마십시오. p>
-
`wp_new_user_notification ()`함수에 필터 후크 추가를 기반으로 한 설명입니다.이 답변은 특히`wp_new_user_notification ()`의 재정의를 플러그 가능 함수로 참조합니다.그러나 이는`wp_new_user_notification_email` 및`wp_new_user_notification_email_admin` 필터를 사용하는 경우 ** 적용되지 않습니다 **.이러한 기능은functions.php 파일 (또는 [사이트 별 플러그인] (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
새 사용자 등록 후 WP는 로그인/비밀번호와 로그인 페이지 링크가 포함 된 이메일을 보냅니다.
이 기본 이메일 템플릿을 변경할 수있는 방법이 있습니까?제목과 발신자도 변경하고 싶습니다.
편집 : 관심있는 모든 사람들을 위해 여기 가 플러그인 솔루션입니다.