最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Disable new user notification to admin email

programmeradmin3浏览0评论

I get an email notifying me of every new user registration on my site and now that it gets hundreds or thousands of new users a day, it's getting a little out of hand.

It seems like it'd be a Wordpress setting to disable it, but I can't seem to find anything. Do I really need a plugin to do this?

I get an email notifying me of every new user registration on my site and now that it gets hundreds or thousands of new users a day, it's getting a little out of hand.

It seems like it'd be a Wordpress setting to disable it, but I can't seem to find anything. Do I really need a plugin to do this?

Share Improve this question asked Mar 20, 2012 at 16:06 KyleKyle 1,0514 gold badges15 silver badges28 bronze badges 2
  • No plugins are necessary. This is a wordpress article, but it applies to all newer versions of wordpress. en.support.wordpress/enable-disable-comments – Stephen Commented Sep 15, 2012 at 11:07
  • so basically the answer is yes, you do need a plugin? – David Barratt Commented Jul 11, 2015 at 19:32
Add a comment  | 

2 Answers 2

Reset to default 1

One plugin, among several: http://wordpress/extend/plugins/disable-new-user-email-notifications/

You can grab the function out of it and use it directy in functions.php

There are several ways to prevent user notification for new registered users and user password changes.

One would be to change the pluggable functions "wp_new_user_notification()" and "wp_password_change_notification()". A different way would be to post the following code in functions.php.

It uses the "phpmailer_init" hook to test, if the subject of the mail is the one sent by "wp_new_user_notification" and "wp_password_change_notification". If the condition is met then the $phpmailer object is newly initialized. That means it is empty and cannot be sent since phpmailer class checks if there is at least a single recipient.

// prevent admin notification email for new registered users or user password changes
function conditional_mail_stop() {
    global $phpmailer;
    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
    $subject = array(
        sprintf(__('[%s] New User Registration'), $blogname),
        sprintf(__('[%s] Password Lost/Changed'), $blogname)
    );
    if ( in_array( $phpmailer->Subject, $subject ) )
        // empty $phpmailer class -> email cannot be send
        $phpmailer = new PHPMailer( true );
}
add_action( 'phpmailer_init', 'conditional_mail_stop' );
发布评论

评论列表(0)

  1. 暂无评论