Ich möchte die E-Mail-Benachrichtigung deaktivieren, wenn ein Benutzer oder Administrator das Kennwort eines Benutzers ändert.
Nach einigem Googleling musste ich ein Plugin erstellen und die in wp_password_change_notification
enthaltene Funktion pluggable.php
überschreiben.
Dies ist das Plugin und die Funktion:
<?php
/*
Plugin Name: Stop email change password
Description: Whatever
*/
if ( !function_exists( 'wp_password_change_notification' ) ) {
function wp_password_change_notification() {}
}
?>
Ich habe die Datei in meinen Plugin-Ordner hochgeladen und in meinem Admin-Panel aktiviert!
Dies muss mit einem Plugin erfolgen, da die pluggable.php
-Datei vor der functions.php
-Datei geladen wird.
Sowieso scheint es nicht für mich zu arbeiten .......
Der Benutzer erhält die E-Mail weiterhin.
Ich habe alle Plugins deaktiviert und das Plugin auf einer sauberen Installation ausgeführt, damit keine Interferenzen auftreten
Der WP_DEBUG
zeigt auch keine Fehler !!!
Kann mir jemand sagen, was ich ändern oder wie ich es auf andere Weise beheben soll (außer Kernmodifikationen :-))
M.
Um die Benutzer-E-Mail-Benachrichtigung zu deaktivieren, fügen Sie Folgendes in ein Plugin oder Thema ein:
add_filter( 'send_password_change_email', '__return_false' );
Zu Ihrer Information wp_password_change_notification()
steuert die E-Mail-Benachrichtigung des Administrators, wenn ein Benutzer sein Kennwort ändert
Um Admin-E-Mail-Benachrichtigung zu deaktivieren, wenn ein Benutzer sein eigenes Passwort zurücksetzt , erstellen Sie ein Plugin (oder muss Plugin verwenden ) mit dem folgenden Code-Snippet:
/**
* Disable Admin Notification of User Password Change
*
* @see pluggable.php
*/
if ( ! function_exists( 'wp_password_change_notification' ) ) {
function wp_password_change_notification( $user ) {
return;
}
}
Dadurch wird verhindert, dass die folgende E-Mail unter Einstellungen> Allgemein an die E-Mail-Adresse des Administrators gesendet wird:
Von: WordPress <[email protected]>
An: [email protected]
Betreff: [WordPress] Passwort geändertPasswort für Benutzer geändert: Benutzername
Das Unterdrücken dieser E-Mail-Benachrichtigung muss mit einem Plugin behandelt werden, da pluggable.php
früher als die functions.php
-Datei eines Themas geladen wird.
Wenn Sie stattdessen Benutzer-E-Mail-Benachrichtigung deaktivieren möchten, dass ein Benutzer sein eigenes Passwort erfolgreich geändert hat , verwenden Sie den folgenden Filter in functions.php
:
/**
* Disable User Notification of Password Change Confirmation
*/
add_filter( 'send_password_change_email', '__return_false' );
Dadurch wird das Senden der folgenden E-Mail unterdrückt:
Von: WordPress <[email protected]>
An: [email protected]
Betreff: [WordPress] Passwort geändertHallo Benutzername,
Dieser Hinweis bestätigt, dass Ihr Passwort in WordPress geändert wurde.
Wenn Sie Ihr Passwort nicht geändert haben, wenden Sie sich bitte an den Site-Administrator unter [email protected]
Diese E-Mail wurde an [email protected] gesendet
Grüße,
Alles bei WordPress
http://example.com/
WordPress sendet die Benachrichtigung standardmäßig, wenn der Benutzer mit wp_update_user()
aktualisiert wird.
Der Versuch, dies mit Filtern zu überschreiben, pluggable.php
zu ändern oder mit einer leeren Funktion zu überschreiben, funktioniert nicht.
Verwenden Sie stattdessen wp_set_password( $password, $user_id )
, wenn Sie nicht möchten, dass die Benachrichtigungs-E-Mail bei einem Kennwort-Reset für Benutzer/Administratoren ausgelöst wird.
Andere Antworten sind falsch, da diese das Senden von E-Mails deaktivieren, wenn E-Mails geändert werden, nicht, wenn das Passwort geändert wird.
Das Hinzufügen des folgenden Codes in Ihre functions.php-Datei unter Ihrem aktiven Thema (oder alternativ in einem Plugin) sollte funktionieren. Arbeitete für mich für Version 4.6.1
/**
* Disable sending of the password change email
*/
add_filter( 'send_password_change_email', '__return_false' );
Siehe offizielle Dokumentation
Kopieren Sie diesen folgenden Code und speichern Sie ihn als disable_email.php. Legen Sie diese Datei dann im Verzeichnis "wp-content/plugins /" ab. Und über das Admin-Panel aktiv.
<?php
/*
Plugin Name: Stop email change password
Description: Whatever
*/
if (!function_exists('wp_password_change_notification')) {
function wp_password_change_notification($user) {
return;
}
}
?>
Verwenden Sie die Funktion wp_set_password () anstelle von wp_update_user (), um das Passwort zu aktualisieren, da dies keine E-Mail-Benachrichtigung auslöst.