web-dev-qa-db-ja.com

Auto_core_update_emailフックを使用している場合に$ email ['body']に改行を追加する方法

私は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によって送られています。

どうもありがとう!

1
AlastairHoward

\r\nなどのようなエスケープシーケンスで一重引用符を使用しないでください。二重引用符を使用してください。

$a = 'Hello, ' . "\n";
$b = "Good Bye, \n";

PHP の二重引用符で囲まれた文字列を参照してください。

2
Max Yudin

"\n"を使うこととは別に、PHPの行末定数を使うこともできます:PHP_EOL

    $email['body'] = 'Hello,%0D%0A' . PHP_EOL
  . 'Lorem ipsum.%0D%0A' . PHP_EOL
  . 'Many thanks,%0D%0A' . PHP_EOL
  . 'WordPress';
1
majick