Also, WordPress 4.3 hat ein neues Passwortsystem, wie wir alle wissen. Leider hat dieses neue System die Möglichkeit beseitigt , neuen Benutzern KEINE E-Mails zu senden.
Mein Kunde verwendete ein System, in dem er seinen Kunden eine benutzerdefinierte E-Mail schickte, deren E-Mails manuell registrierte und ihnen anschließend eine E-Mail mit den Anmeldeinformationen mit einer benutzerdefinierten Nachricht schickte. Wir sind uns bewusst, dass dieses neue System versucht, sicherer zu sein, aber dies funktioniert nicht für das Maß an Kontrolle, das er gerne hätte.
Ich habe auf meiner Suche nach einer Lösung zum Deaktivieren dieser E-Mails den folgenden Code gefunden, aber ich denke, dass die Benachrichtigungs-E-Mails nur deaktiviert werden, wenn die E-Mail eines Benutzers für zuvor registrierte Benutzer GEÄNDERT wurde, nicht beim erstmaligen Erstellen:
add_filter( 'send_password_change_email', '__return_false');
add_filter( 'send_email_change_email', '__return_false');
Kennt jemand eine Möglichkeit, diese anfänglichen Passwort-E-Mails zu deaktivieren, die nach der Registrierung gesendet werden?
Vielen Dank.
quelle
add_filter( 'user_registration_email', '__return_false');
Antworten:
Sie können diese E-Mail abfangen, bevor sie mit dem
phpmailer_init
Hook gesendet wird .Standardmäßig wird dieser Haken ausgelöst, bevor eine E-Mail gesendet wird. In der folgenden Funktion
$phpmailer
wird eine Instanz von PHPMailer verwendet , und Sie können dessen Methoden verwenden, um den Standardempfänger zu entfernen und die E-Mail zu bearbeiten , bevor sie gesendet wird.quelle
Tatsächlich hängt es davon ab, wie Sie den neuen Benutzer erstellen. Wenn Sie dies über Administration - Benutzer - Neu hinzufügen tun, sind Sie richtig. In 4.3 können Sie das Versenden der Benachrichtigungs-E-Mail leider nicht deaktivieren. Aber wenn Sie wirklich einen neuen Benutzer ohne die E-Mail erstellen möchten, gibt es einen Weg.
Sie können ein kleines Plugin erstellen, in dem Sie selbst über die
wp_insert_user
Funktion ein neues Konto erstellen . Standardmäßig werden keine E-Mails gesendet.Diese Funktion kann so aufgerufen werden.
Bei dem die
userdata
Parameter ein Array, in dem Sie alle erforderlichen Informationen übergeben können.Weitere Informationen finden Sie im Codex hier .
quelle
Die
wp_new_user_notification
Funktion ist steckbar, Sie können sie also überschreiben, indem Sie Ihre eigene definieren. Sie sollten in der Lage sein, die gesamte Funktion vonwp-includes/pluggable.php
in Ihr Plugin (oderfunctions.php
) zu kopieren und die Zeile zu entfernen, die die E-Mail versendet.quelle
Um dies in Ihrem Theme zu lösen, erstellen Sie ein neues Mu-Plugin, indem Sie eine neue Datei erstellen
wp_new_user_notifications.php
(der Name liegt bei Ihnen) und diese in einenwp-content/mu-plugins
Ordner legen . Wenn es keinen solchen Ordner gibt, erstellen Sie einen. Denken Sie daran, die PHP-Datei direkt in den Ordner zu legen, nicht in einen Unterordner.Dann mach weiter wie von Simon vorgeschlagen - Kopiermethode
wp_new_user_notifications.php
vonwp-includes/pluggable.php
in Ihre brandneuewp_new_user_notifications.php
Datei und ändern Sie sie nach Bedarf.So beantworten Sie Ihre Frage: Zum Deaktivieren des ersten Kennworts reichen E-Mails aus, um den letzten
wp_mail
Methodenaufruf zu entfernen .quelle
Funktioniert. Aber es ist wesentlich, dass es dem Plugin selbst hinzugefügt wird und nicht der functions.php für das Theme.
Mögen.
quelle