Disabilita la notifica e-mail dopo la modifica della password


13

Voglio disabilitare la notifica via e-mail se un utente o un amministratore modifica la password di un utente.

Dopo alcuni Googleling sono venuto a sapere che ho bisogno di creare un plugin e sovrascrivere la wp_password_change_notificationfunzione trovata in pluggable.php.

Questo è il plugin e la funzione:

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

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

Ho caricato il file nella mia cartella plugin e l'ho attivato nel mio pannello di amministrazione!

Questo deve essere fatto con un plugin perché il pluggable.phpfile viene caricato prima del functions.phpfile.

Comunque non sembra funzionare per me .......

L'utente riceve ancora l'e-mail.

Ho controllato tutti i plugin ed eseguito il plugin su un'installazione pulita, quindi nessuna interferenza

Il WP_DEBUGnon mostra anche errori !!!

Qualcuno può dirmi cosa cambiare o come risolverlo in altro modo (tranne le modifiche di base :-))

M.


1
Ho anche lottato e provato a creare / utilizzare un plug-in personalizzato, impostando i filtri di WordPress su false ma nulla ha funzionato ... Proprio oggi mi sono imbattuto nel plug-in Gestisci e-mail di notifica e funziona :)
Leander

Risposte:


18

Per disabilitare la notifica e-mail dell'utente, aggiungila in un plug-in o in un tema:

add_filter( 'send_password_change_email', '__return_false' );

FYI wp_password_change_notification()controlla la notifica e-mail dell'amministratore quando un utente cambia la propria password


10

Per disabilitare la notifica e-mail dell'amministratore quando un utente reimposta la propria password , creare un plug-in (o plug-in necessario ) utilizzando il seguente frammento di codice:

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

Ciò impedirà che la seguente e-mail venga inviata all'e-mail dell'amministratore in Impostazioni> Generale:

Da: WordPress <wordpress@example.com>
A: admin@example.com
Oggetto: [WordPress] Password modificata

Password modificata per l'utente: nome utente

La soppressione di questa notifica e-mail deve essere gestita con un plug-in perché pluggable.phpviene caricata prima del functions.phpfile di un tema .


Se si desidera disabilitare invece la notifica e-mail dell'utente che un utente ha modificato correttamente la propria password , utilizzare il seguente filtro inserito in functions.php:

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

Ciò eliminerà l'invio della seguente e-mail:

Da: WordPress <wordpress@example.com>
A: username@example.com
Oggetto: [WordPress] Password modificata

Ciao username,

Questo avviso conferma che la tua password è stata modificata su WordPress.

Se non hai modificato la password, contatta l'amministratore del sito all'indirizzo admin@example.com

Questa email è stata inviata a username@example.com

Saluti,
tutto su WordPress
http://example.com/


2
C'è un grosso errore in questa risposta. Il nome del filtro è "send_password_change_email" non "send_email_change_email". codex.wordpress.org/Plugin_API/Filter_Reference/…
Tristan CHARBONNIER

Notato. Per riferimento, i due filtri sono correlati e possono essere utilizzati per disabilitare la notifica dell'utente quando l'utente modifica una e - mail o una password. Il caso d'uso dipende da quale notifica si desidera eliminare: cambio e-mail o cambio password. Per un'immagine chiara, fare riferimento alla funzione WordPress wp_update_user()in wp-includes/user.php: core.trac.wordpress.org/browser/tags/4.9.5/src/wp-includes/…
rjb

2

WordPress invia la notifica per impostazione predefinita quando l'utente viene aggiornato con wp_update_user().

Cercare di sovrascriverlo usando i filtri, modificare pluggable.phpo sovrascrivere con una funzione vuota, non funziona.

Utilizzare invece wp_set_password( $password, $user_id )quando non si desidera che l'e-mail di notifica venga attivata per gli utenti / amministratori in caso di reimpostazione della password.


1

Copia questo codice seguente e salvalo come disable_email.php. Quindi posizionare quel file nella directory "wp-content / plugins /". E attivo dal Pannello di amministrazione.

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

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

??? In che modo è diverso da quello che ho fatto?
Interattivo

Hai creato un plug-in e hai inserito il tuo codice?
Sabbir Hasan,

Sì, è quello che pensavo di aver descritto. Ma aggiornerò la domanda se non fosse chiaro!
Interattivo

prova ora. Ho aggiornato la risposta. Dovrebbe funzionare ora!
Sabbir Hasan,

Ah, l'ho appena trovato e provato ma non ha funzionato!
Interattivo

1

Altre risposte sono errate perché disabilitano l'invio di e-mail quando si cambia e-mail, non quando si cambia password.

L'aggiunta del codice seguente nel file Functions.php sotto il tema attivo (o in alternativa in un plug-in) dovrebbe funzionare. Ha funzionato per me per la versione 4.6.1

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

Vedi la documentazione ufficiale


Non tutte le altre risposte potrebbero essere errate e le nuove risposte vengono sempre pubblicate. Dovresti essere più specifico nella tua risposta quando ti riferisci ad "altre" risposte.
Sparky il

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.