Cum să adaugi linii noi în $email['body'] când folosești hook-ul auto_core_update_email
Folosesc hook-ul auto_core_update_email pentru a modifica email-ul de actualizare automată trimis de WordPress. Dar nu reușesc să adaug linii noi în corpul email-ului. Iată codul meu:
function example_filter_auto_update_email($email) {
// Schimbă destinatarii email-ului
$email['to'] = array('example@example.com', 'test@example.com');
// Schimbă subiectul email-ului
$email['subject'] = 'Actualizare Automată';
// Adaugă conținut în corpul email-ului cu linii noi
$email['body'] = 'Bună ziua,%0D%0A'
. 'Lorem ipsum.%0D%0A'
. 'Mulțumim,%0D%0A'
. 'WordPress';
return $email;
}
// Adaugă filtrul pentru email-urile de actualizare automată
add_filter('auto_core_update_email', 'example_filter_auto_update_email', 1);
Am încercat de asemenea să folosesc:
<br />
, \r\n
, precum și %0D%0A
, așa cum se vede mai sus. Însă, în fiecare caz, textul apare în clientul de email astfel:
Bună ziua%0D%0ALorem Ipsum%0D%0AMulțumim%0D%0AWordPress
Cum pot obține linii noi în email-urile de actualizare automată? Dacă ajută, email-urile sunt trimise prin SMTP.
Mulțumesc mult!

Nu folosiți ghilimele simple cu secvențe de escape precum \r
, \n
și altele asemănătoare. Folosiți ghilimele duble:
$a = 'Hello, ' . "\n";
$b = "Good Bye, \n";
Consultați Șirurile de caractere între ghilimele duble în PHP.

ține minte că PHP_EOL
!== "\n"
în funcție de platforma de pe care este trimis email-ul și cea pe care este citit. Cel mai probabil nu are un impact în software-ul modern de email, dar merită să ții cont de asta.
