Ich möchte die E-Mail-Benachrichtigung deaktivieren, wenn ein Benutzer oder Administrator das Kennwort eines Benutzers ändert.
Nach einigem Googleling habe ich festgestellt, dass ich ein Plugin erstellen und die in enthaltene wp_password_change_notification
Funktion überschreiben muss pluggable.php
.
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
Das 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.
Antworten:
Um die Benutzer-E-Mail-Benachrichtigung zu deaktivieren, fügen Sie Folgendes in ein Plugin oder Thema ein:
Zu Ihrer
wp_password_change_notification()
Information: Die E-Mail-Benachrichtigung des Administrators wird gesteuert, wenn ein Benutzer sein Kennwort ändertquelle
Um die Admin-E-Mail-Benachrichtigung zu deaktivieren, wenn ein Benutzer sein eigenes Kennwort zurücksetzt , erstellen Sie ein Plug-In (oder ein Plug-In, das verwendet werden muss ) mit dem folgenden Code-Snippet:
Dadurch wird verhindert, dass die folgende E-Mail unter "Einstellungen"> "Allgemein" an die E-Mail-Adresse des Administrators gesendet wird:
Das Unterdrücken dieser E-Mail-Benachrichtigung muss mit einem Plugin erfolgen, da
pluggable.php
es früher als diefunctions.php
Datei eines Themas geladen wird .Wenn Sie stattdessen die Benutzer-E-Mail-Benachrichtigung deaktivieren möchten, dass ein Benutzer sein Kennwort erfolgreich geändert hat , verwenden Sie den folgenden Filter
functions.php
:Dadurch wird das Senden der folgenden E-Mail unterdrückt:
quelle
wp_update_user()
unterwp-includes/user.php
: core.trac.wordpress.org/browser/tags/4.9.5/src/wp-includes/…WordPress sendet die Benachrichtigung standardmäßig, wenn der Benutzer mit aktualisiert wird
wp_update_user()
.Der Versuch, dies mit Filtern zu überschreiben, zu ändern
pluggable.php
oder mit einer leeren Funktion zu überschreiben, funktioniert nicht.Verwenden
wp_set_password( $password, $user_id )
Sie diese Option stattdessen, wenn die Benachrichtigungs-E-Mail für Benutzer / Administratoren bei einem Zurücksetzen des Kennworts nicht ausgelöst werden soll.quelle
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.
quelle
Andere Antworten sind falsch, da diese das Senden von E-Mails deaktivieren, wenn E-Mails geändert werden, und 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
Siehe offizielle Dokumentation
quelle
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.
quelle