อีเมลแจ้งเตือนผู้ใช้ใหม่ถูกสร้างและส่งโดยฟังก์ชั่นwp_new_user_notification()
ซึ่งพบในwp-include / plugable.php
ไม่มีตะขอตัวกรองภายในฟังก์ชั่นนี้ที่จะช่วยให้คุณสามารถจัดการกับผลลัพธ์ของอีเมลได้อย่างไรก็ตามคุณสามารถเขียนทับฟังก์ชั่นที่เสียบได้ผ่านทางปลั๊กอิน
หมายเหตุ - คุณสามารถเขียนทับฟังก์ชั่นที่เสียบปลั๊กได้เท่านั้นจากภายในปลั๊กอินไม่ใช่จากภายในธีมของคุณ
ดูที่นี่สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับฟังก์ชั่นที่เสียบได้และรายการทั้งหมดของที่มี - http://codex.wordpress.org/Pluggable_Functions
รหัสนี้จะสร้างปลั๊กอินที่จะใช้แทนหนึ่งในwp-include / plugable.php (บันทึกไว้ในไฟล์ของตัวเองในwp-content / plugins / )
ฉันยังไม่ได้ปรับแต่งให้เหมาะกับคุณ แต่ควรจะได้รับในแบบของคุณ
<?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;