Email thông báo người dùng mới được tạo và gửi bởi hàm wp_new_user_notification()
, được tìm thấy trong wp-gộp / plugable.php
Không có móc lọc trong funciton này sẽ cho phép bạn thao tác đầu ra của email, tuy nhiên bạn có thể ghi đè lên bất kỳ chức năng có thể cắm nào thông qua plugin.
Lưu ý - Bạn chỉ có thể ghi đè các chức năng có thể cắm từ bên trong một plugin, không phải từ trong chủ đề của bạn.
Xem ở đây để biết thêm chi tiết về các chức năng có thể cắm và danh sách đầy đủ các chức năng có sẵn - http://codex.wordpress.org/Pluggable_Fifts
Mã này sẽ tạo ra plugin sẽ được sử dụng thay vì plugin trong wp-gộp / plugable.php (lưu nó trong tệp riêng của nó trong wp-content / plugins / ).
Tôi đã không tùy chỉnh nó cho bạn, nhưng điều này sẽ giúp bạn đi theo cách của bạn.
<?php
/**
* Plugin Name: Custom new user notification email
* Description: Overwrites the pluggable 'wp_new_user_notification()' plugin to allow the sending of a custom email
* Author: David Gard
* Version: 1.0
*/
if ( !function_exists('wp_new_user_notification') ) :
/**
* Pluggable - Email login credentials to a newly-registered user
*
* A new user registration notification is also sent to admin email.
*
* @since 2.0.0
*
* @param int $user_id User ID.
* @param string $plaintext_pass Optional. The user's plaintext password. Default empty.
*/
function wp_new_user_notification($user_id, $plaintext_pass = ''){
$user = get_userdata($user_id);
// The blogname option is escaped with esc_html on the way into the database in sanitize_option
// we want to reverse this for the plain text arena of emails.
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
$message = sprintf(__('New user registration on your site %s:'), $blogname) . "\r\n\r\n";
$message .= sprintf(__('Username: %s'), $user->user_login) . "\r\n\r\n";
$message .= sprintf(__('E-mail: %s'), $user->user_email) . "\r\n";
@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), $blogname), $message);
if ( empty($plaintext_pass) )
return;
$message = sprintf(__('Username: %s'), $user->user_login) . "\r\n";
$message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n";
$message .= wp_login_url() . "\r\n";
wp_mail($user->user_email, sprintf(__('[%s] Your username and password'), $blogname), $message);
}
endif;