Wie füge ich einen Link zum Zurücksetzen des WordPress-Passworts in eine HTML-E-Mail ein?
P粉136356287
2023-09-02 13:52:43
<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>
在这行的末尾放上4,而不是2。
你必须告诉 add_filter() 和 add_action() 钩子函数需要多少个参数。