WordPressでパスワードリセットのリクエスト時に送信されるメールのタイトルと本文を変更する方法

WordPressでパスワードリセットのリクエスト時に送信されるメールのタイトルと本文を変更する方法

WordPressでパスワードリセットのリクエスト時に送信されるメールのタイトルと本文を変更する方法

WordPressのログインパスワードを忘れてしまった場合、ログイン画面の「パスワードをお忘れですか?」のリンクから、パスワードリセット用のリンクを受け取ることができます。

ユーザー名もしくはメールアドレスを入力して、[新しいパスワードを取得]をクリックすると、パスワードリセット用のリンクが該当ユーザーのメールアドレス宛に送信されます。

デフォルトの状態では、以下のようなメールが送られてきます。本文内のリンクにアクセスすることで、新しいパスワードを設定できます。

本文にも書かれている通り、この時点ではまだパスワードリセットはされておらず、新しいパスワードを設定しなければ何も起こりません。

[サイト名] パスワードのリセット
どなたかが次のアカウントのパスワードリセットをリクエストしました:

サイト名: サイト名

ユーザー名: username

もしこれが間違いだった場合は、このメールを無視すれば何も起こりません。

パスワードをリセットするには、以下へアクセスしてください。

https://example.com/wp-login.php?action=rp&key=5KgSCCGwFmRyS6ZP9efC&login=username&wp_lang=ja

パスワードリセットは IP アドレス xxx.xxx.xxx.xxx からリクエストされました。

上記のパスワードリセットのリクエスト時に送信されるメールの内容を変更する方法をご紹介したいと思います。

パスワードリセットのリクエスト時に送信されるメールのタイトルと本文を変更する方法

メールタイトルは「retrieve_password_title」、メール本文は「retrieve_password_message」というフックで変更可能です。

適用しているテーマのfunctions.phpに、以下のようなコードを追加すれば送信されるメールの内容が変更されます。

//メールタイトルの変更
function my_retrieve_password_title($title, $user_login, $user_data) {
  $title = '[' . get_option('blogname') . '] ' . $user_login . 'のパスワードリセット';
  return $title;
}
add_filter('retrieve_password_title', 'my_retrieve_password_title', 10, 3);

//メール本文の変更
function my_retrieve_password_message($message, $key, $user_login, $user_data) {
  $message = 'パスワードリセット用のURLはこちら' . "\r\n";
  $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";
  return $message;
}
add_filter('retrieve_password_message', 'my_retrieve_password_message', 10, 4);

上記を追加することで、以下のようにタイトルと本文が変更されます。

[サイト名] usernameのパスワードリセット
パスワードリセット用のURLはこちら
https://example.com/wp-login.php?action=rp&key=5KgSCCGwFmRyS6ZP9efC&login=username

あとがき

パスワードリセットのメール内容まで変更することってあまりないですが、クライアントワーク等、きっちりこだわりたい時はカスタマイズしてあげると良いですね。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です