Désactiver la notification par e-mail après un changement de mot de passe


13

Je souhaite désactiver la notification par e-mail si un utilisateur ou un administrateur modifie le mot de passe d'un utilisateur.

Après quelques Googleling, j'ai découvert que je devais créer un plugin et écraser la wp_password_change_notificationfonction trouvée dans pluggable.php.

Ceci est le plugin et la fonction:

<?php
/*
Plugin Name: Stop email change password
Description: Whatever
*/

if ( !function_exists( 'wp_password_change_notification' ) ) {
    function wp_password_change_notification() {}
}
?>

J'ai téléchargé le fichier dans mon dossier de plugins et l'ai activé dans mon panneau d'administration!

Cela doit être fait avec un plugin car le pluggable.phpfichier est chargé avant le functions.phpfichier.

Quoi qu'il en soit, cela ne semble pas fonctionner pour moi .......

L'utilisateur reçoit toujours l'e-mail.

J'ai désactivé tous les plugins et exécuté le plugin sur une installation propre, donc aucune interférence

Le WP_DEBUGne montre pas non plus d'erreurs !!!

Quelqu'un peut-il me dire quoi changer ou comment le corriger d'une autre manière (sauf les modifications de base :-))

M.


1
J'ai également eu du mal et essayé de créer / utiliser un plugin personnalisé, définissant les filtres WordPress sur faux mais rien n'a fonctionné ... Aujourd'hui encore, je suis tombé sur le plugin Manage Notification E-mails et cela fonctionne :)
Leander

Réponses:


18

Pour désactiver la notification par e-mail des utilisateurs, ajoutez ceci dans un plugin ou un thème:

add_filter( 'send_password_change_email', '__return_false' );

FYI wp_password_change_notification()contrôle la notification par e-mail de l'administrateur lorsqu'un utilisateur change de mot de passe


10

Pour désactiver la notification par e-mail de l'administrateur lorsqu'un utilisateur réinitialise son propre mot de passe , créez un plug-in (ou doit utiliser un plug-in ) à l'aide de l'extrait de code suivant:

/**
 * Disable Admin Notification of User Password Change
 *
 * @see pluggable.php
 */
if ( ! function_exists( 'wp_password_change_notification' ) ) {
    function wp_password_change_notification( $user ) {
        return;
    }
}

Cela empêchera l'envoi du courrier électronique suivant au courrier électronique de l'administrateur dans Paramètres> Général:

De: WordPress <wordpress@example.com>
À: admin@example.com
Objet: [WordPress] Mot de passe modifié

Mot de passe modifié pour l'utilisateur: nom d'utilisateur

La suppression de cette notification par e-mail doit être gérée avec un plug-in car elle pluggable.phpest chargée plus tôt que le functions.phpfichier d'un thème .


Si vous souhaitez plutôt désactiver la notification par e-mail de l' utilisateur qu'un utilisateur a réussi à modifier son propre mot de passe , utilisez le filtre suivant placé dans functions.php:

/**
 * Disable User Notification of Password Change Confirmation
 */
add_filter( 'send_password_change_email', '__return_false' );

Cela supprimera l'envoi de l'e-mail suivant:

De: WordPress <wordpress@example.com>
À: username@example.com
Objet: [WordPress] Mot de passe modifié

Bonjour nom d'utilisateur,

Cet avis confirme que votre mot de passe a été modifié sur WordPress.

Si vous n'avez pas modifié votre mot de passe, veuillez contacter l'administrateur du site à admin@example.com

Cet e-mail a été envoyé à username@example.com

Cordialement,
Tout sur WordPress
http://example.com/


2
Il y a une grosse erreur dans cette réponse. Le nom du filtre est "send_password_change_email" et non "send_email_change_email". codex.wordpress.org/Plugin_API/Filter_Reference/…
Tristan CHARBONNIER

C'est noté. Pour référence, les deux filtres sont liés et peuvent être utilisés pour désactiver la notification de l'utilisateur lorsqu'un e - mail ou un mot de passe est modifié par l'utilisateur. Le cas d'utilisation de l'un ou l'autre dépend de la notification que vous souhaitez supprimer - changement d'e-mail ou changement de mot de passe. Pour une image claire, reportez-vous à la fonction WordPress wp_update_user()dans wp-includes/user.php: core.trac.wordpress.org/browser/tags/4.9.5/src/wp-includes/…
rjb

2

WordPress envoie la notification par défaut lorsque l'utilisateur est mis à jour avec wp_update_user().

Essayer d'écraser cela à l'aide de filtres, de modifier pluggable.phpou d'écraser avec une fonction vide, ne fonctionne pas.

Utilisez-le à la place wp_set_password( $password, $user_id )lorsque vous ne souhaitez pas que l'e-mail de notification soit déclenché pour les utilisateurs / administrateurs lors d'une réinitialisation du mot de passe.


1

Copiez ce code suivant et enregistrez-le sous disable_email.php. Placez ensuite ce fichier dans le répertoire "wp-content / plugins /". Et actif depuis le panneau d'administration.

<?php
/*
Plugin Name: Stop email change password
Description: Whatever
*/

if (!function_exists('wp_password_change_notification')) {
    function wp_password_change_notification($user) {
        return;
    }
}
?>

??? En quoi est-ce différent de ce que j'ai fait?
interactif à

Avez-vous créé un plugin et placé votre code là-dessus?
Sabbir Hasan

Oui, c'est ce que je pensais avoir décrit. Mais je mettrai à jour la question si elle n'était pas claire!
interactif

Essayez maintenant. J'ai mis à jour la réponse. Ça devrait marcher maintenant!
Sabbir Hasan

Ha, je viens de trouver et d'essayer, mais cela n'a pas fonctionné!
interactif

1

Les autres réponses sont fausses car celles-ci désactivent l'envoi d'e-mails lorsque l'e-mail est modifié, pas lorsque le mot de passe est modifié.

L'ajout du code ci-dessous dans votre fichier functions.php sous votre thème actif (ou alternativement dans un plugin) devrait fonctionner. A fonctionné pour moi pour la version 4.6.1

/**
 * Disable sending of the password change email
 */
add_filter( 'send_password_change_email', '__return_false' );

Voir la documentation officielle


Toutes les autres réponses ne peuvent pas être erronées et de nouvelles réponses sont affichées en permanence. Vous devriez être plus précis dans votre réponse lorsque vous vous référez à des «autres» réponses.
Sparky

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.