重要 2024年1月4日以降のドロップインのご利用につきまして

WordPressから送信されるメールをカスタマイズする

こんにちは。スタッフのユースケです。

今日はWordPressのメールに関するお話しです。

WordPressで新規ユーザー登録をしたときなどに送られてくるメール、
デフォルトのままだと差出人が「WordPress」となっていてどこからのメールか分かりませんよね。

そんな時は下記のフックを使うことで差出人をカスタマイズできます。

・wp_mail_from ・・・ 差出人メールアドレス変更
・wp_mail_from_name ・・・ 差出人名変更

サンプルはこちら。

function set_mail_from( $email ) {
    return 'staff@office7f.com';
}
function set_mail_from_name( $email_from ) {
    return 'コワーキングスペース7F';
}
add_filter( 'wp_mail_from', 'set_mail_from' );
add_filter( 'wp_mail_from_name', 'set_mail_from_name' );

簡単ですね!
(フックについて知りたい方は、Codexを参照してくださいねー。)

いや、差出人だけじゃなく、あの味気ない本文を変えたいんだ!タイトルを変えたいんだ!
その気持ち分かります。
安心してください。そちらもフックが用意されています。

例えば、ログイン画面で「パスワードをお忘れですか?」でパスワードリセットする際に送信されるメール、
こちらをカスタマイズする際に利用するフックは以下の2つです。

・retrieve_password_title ・・・ 件名変更
・retrieve_password_message ・・・ 本文変更

サンプルはこちら。

function set_custom_title($title) {
    return '[コワーキングスペース7F] パスワードのリセットのお知らせ';
}
add_filter( 'retrieve_password_title', 'set_custom_title' );
function set_custom_mail($message, $key) {
    $message = "[コワーキングスペース7F] アカウントの\r\nパスワードリセットがリクエストされました。\r\n\r\n";
    $message .= "お客様がこのリクエストをされていない場合は、\r\n";
    $message .= "誤って他のユーザーがお客様のメールアドレスを入力した\r\n";
    $message .= "可能性があります。このメールを無視してください。\r\n\r\n";
    $message .= "パスワードをリセットするには、以下へアクセスしてください。\r\n\r\n";
    $message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";
    $message .= "ご利用ありがとうございます。\r\nアカウント担当\r\n";
    $message .= "staff@office7f.com\r\n";

    return $message;
}
add_filter( 'retrieve_password_message', 'set_custom_mail', 10, 2 );

こちらも簡単ですね。
先ほどのサンプルと同じで、フィルターフックに関数をかませ、変更したい内容を返すだけでOKです!

如何でしたでしょうか?
フックを使ってあなた好みにカスタマイズ!Part.1。

今回紹介した以外にもメール関連のフックはありますので、ぜひCodexを探したり、コアファイルを直接覗いたりして見てください!