看起来你在打电话wp_new_user_notification()
显式地在代码段中。
以下是两个解决此问题的方法:
想法1:wp_new_user_notification()
该功能是可插拔的,所以您可以根据需要对其进行修改。
例如,您可以使用以下内容覆盖它:
if ( ! function_exists( \'wp_new_user_notification\' ) ):
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);
}
endif;
它只会通知站点管理员,并在代码中使用此功能:
function wpse_new_user_notification( $user_id, $plaintext_pass = \'\' )
{
if ( empty($plaintext_pass) )
return;
$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(__(\'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);
}
它将只通知新注册的用户。
可能有更复杂的方法来处理这个问题,但这是我首先想到的;-)
想法2:
您也可以尝试使用
wp_mail
过滤器和
phpmailer_init
如果邮件正文包含“
您的用户名和密码”以及$to
电子邮件地址不是管理员电子邮件地址。