Wie füge ich einen Link zum Zurücksetzen des WordPress-Passworts in eine HTML-E-Mail ein?
P粉136356287
P粉136356287 2023-09-02 13:52:43
0
1
620
<p>Ich versuche, die E-Mail zum Zurücksetzen des WP-Core-Passworts durch eine HTML-E-Mail zu ersetzen. Insgesamt funktioniert es großartig, die E-Mails sind gut formatiert und werden korrekt gesendet. Allerdings funktioniert die Implementierung eines dynamischen Zurücksetzens des Links nicht (ebenso wie der Benutzername, aber das ist nicht einmal das Wichtigste) </p> <p>Ich habe den folgenden Code in der Functions.php meiner Vorlage verwendet: </p> <pre class="brush:php;toolbar:false;">add_filter( 'wp_mail_content_type','prefix_set_content_type' ); Funktion prefix_set_content_type() { return "text/html"; } add_filter( 'retrieve_password_message', 'replace_retrieve_password_message', 10, 2 ); Funktion replace_retrieve_password_message( $message, $key, $user_login, $user_data ) { $message = '<html...>Viele HTML-Inhalte (hauptsächlich formatierte E-Mails)</html>'</pre> <p>Dies führt zu einem schwerwiegenden Fehler, da die Funktion 4 Parameter erwartet, aber nur 2 empfängt (siehe E-Mail mit dem Fehlerbericht). Wenn ich $user_data und $key weglasse, verschwindet der Fehler, aber ich weiß immer noch nicht, wie ich dynamische Verknüpfungen implementieren soll...</p> <p>Wenn ich versuche, diesen Link in HTML einzubinden, wird nur die Hälfte des Links gesendet (wahrscheinlich aufgrund des „"“): </p> <pre class="brush:php;toolbar:false;">' network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), ' login' ) '</pre> <p>Hat jemand eine Idee, wie dieses Problem gelöst werden kann? Danke. </p>
P粉136356287
P粉136356287

Antworte allen(1)
P粉838563523

在这行的末尾放上4,而不是2。

add_filter('retrieve_password_message', 'replace_retrieve_password_message',10,4);

你必须告诉 add_filter()add_action() 钩子函数需要多少个参数。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage