私はauto_core_update_emailフックを使ってWordPressから送られてくる自動更新メールを修正しています。しかし、私は電子メールの本文に改行を追加する方法を理解することはできません。これが私のコードです:
function example_filter_auto_update_email($email) {
$email['to'] = array('[email protected]', '[email protected]');
$email['subject'] = 'Auto Update';
$email['body'] = 'Hello,%0D%0A'
. 'Lorem ipsum.%0D%0A'
. 'Many thanks,%0D%0A'
. 'WordPress';
return $email;
}
add_filter('auto_core_update_email', 'example_filter_auto_update_email', 1);
上で見たように、私は<br />
、\r\n
、そして%0D%0A
も使ってみました。ただし、いずれの場合も、文字列は私の電子メールクライアントに次のように表示されるだけです。
こんにちは%0D%0ALoremイプサム%0D%0ありがとうございます%0D%0AWordPress
自動更新メールに改行を印刷するにはどうすればよいですか。それが助けになるならば、電子メールはSMTPによって送られています。
どうもありがとう!
\r
、\n
などのようなエスケープシーケンスで一重引用符を使用しないでください。二重引用符を使用してください。
$a = 'Hello, ' . "\n";
$b = "Good Bye, \n";
PHP の二重引用符で囲まれた文字列を参照してください。
"\n"
を使うこととは別に、PHPの行末定数を使うこともできます:PHP_EOL
$email['body'] = 'Hello,%0D%0A' . PHP_EOL
. 'Lorem ipsum.%0D%0A' . PHP_EOL
. 'Many thanks,%0D%0A' . PHP_EOL
. 'WordPress';