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
517

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)

Ich habe den folgenden Code in der Functions.php meiner Vorlage verwendet:

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 = 'Viele HTML-Inhalte (hauptsächlich formatierte E-Mails)'

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...

Wenn ich versuche, diesen Link in HTML einzubinden, wird nur die Hälfte des Links gesendet (wahrscheinlich aufgrund des „"“):

' network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), ' login' ) '

Hat jemand eine Idee, wie dieses Problem gelöst werden kann? Danke.

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
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!