Wie man den “retrieve_password_message” Filter anwendet?

Ich möchte den Körper der Passwort-Reset-E-Mail ändern, die WP mit etwas freundlicher sendet.

Ich versuche, den “retrieve_password_message” -Filter zu verwenden, aber ich vermassle es.

Kann jemand einen Beispielcode posten?

Solutions Collecting From Web of "Wie man den “retrieve_password_message” Filter anwendet?"

Ich dachte, dass dieser Codeschnipsel für jeden hilfreich sein könnte, der die E-Mail zum Zurücksetzen des Passworts anpassen möchte.

//* Password reset activation E-mail -> Body add_filter( 'retrieve_password_message', 'wpse_retrieve_password_message', 10, 2 ); function wpse_retrieve_password_message( $message, $key ){ $user_data = ''; // If no value is posted, return false if( ! isset( $_POST['user_login'] ) ){ return ''; } // Fetch user information from user_login if ( strpos( $_POST['user_login'], '@' ) ) { $user_data = get_user_by( 'email', trim( $_POST['user_login'] ) ); } else { $login = trim($_POST['user_login']); $user_data = get_user_by('login', $login); } if( ! $user_data ){ return ''; } $user_login = $user_data->user_login; $user_email = $user_data->user_email; // Setting up message for retrieve password $message = "Looks like you want to reset your password!\n\n"; $message .= "Please click on this link:\n"; $message .= ' 
 add_filter("retrieve_password_message", "your_custom_message", 99, 2); function your_custom_message($message, $key) { $message = "your_custom_message"; return $message; } 

Dies ist ein Beispiel für die Verwendung des Filter Hook ‘retrieve_password_message’.

Dies überschreibt den E-Mail-Text, den jemand beim Abrufen des Passworts erhält.

Die gegebenen Antworten haben gute Absichten. Aber sind nicht gut. Es gibt mehr Parameter für den Aufruf der Filterfunktion, 4 um genau zu sein.

Dies funktionierte für mich für die Nachricht (ich wollte den Benutzernamen durch Benutzer-E-Mail ersetzen)

Beachten Sie, dass wir eine Multi-Site-Seite haben. Sie könnten network_site_url durch get_site_url() ersetzen

normalerweise in Ihrer functions.php Ihrer WordPress stheme:

 add_filter("retrieve_password_message", "mapp_custom_password_reset", 99, 4); function mapp_custom_password_reset($message, $key, $user_login, $user_data ) { $message = "Someone has requested a password reset for the following account: " . sprintf(__('%s'), $user_data->user_email) . " If this was a mistake, just ignore this email and nothing will happen. To reset your password, visit the following address: " . '< ' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n" . " If you have any further issues, please email us to help@myapp.com The Myapp Team"; return $message; } 

Bonus: E-Mail-Titel / Betreff ändern

 add_filter( 'retrieve_password_title', function( $title ) { $title = __( 'Password reset for myapp.org' ); return $title; } );