web-dev-qa-db-fra.com

Désactiver la notification d'un nouvel utilisateur au courrier électronique de l'administrateur

Je reçois un email m'informant de chaque inscription d'un nouvel utilisateur sur mon site et maintenant qu'il reçoit des centaines ou des milliers de nouveaux utilisateurs par jour, cela devient un peu incontrôlable.

Il semble que ce soit un paramètre Wordpress pour le désactiver, mais je n'arrive pas à trouver quoi que ce soit. Ai-je vraiment besoin d'un plugin pour faire cela?

4
Kyle

Un plugin parmi plusieurs: http://wordpress.org/extend/plugins/disable-new-user-email-notifications/

Vous pouvez en extraire la fonction et l’utiliser directement dans functions.php

1
markratledge

Il existe plusieurs moyens d'empêcher les notifications d'utilisateur pour les nouveaux utilisateurs enregistrés et les modifications de mot de passe d'utilisateur.

L'une serait de changer les fonctions enfichables "wp_new_user_notification()" et "wp_password_change_notification()". Une autre façon serait d’afficher le code suivant dans functions.php .

Il utilise le crochet "phpmailer_init" pour tester si l'objet du courrier est celui envoyé par "wp_new_user_notification" et "wp_password_change_notification". Si la condition est remplie, l'objet $phpmailer est nouvellement initialisé. Cela signifie qu'il est vide et qu'il ne peut pas être envoyé car la classe phpmailer vérifie s'il y a au moins un destinataire.

// 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' );
5
KeineKaefer