Cum să adaugi linii noi în $email['body'] când folosești hook-ul auto_core_update_email

23 feb. 2018, 10:58:32
Vizualizări: 14.9K
Voturi: 2

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!

0
Toate răspunsurile la întrebare 2
0

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.

23 feb. 2018 12:33:08
2

Pe lângă utilizarea "\n", poți folosi și constanta PHP pentru sfârșit de linie: PHP_EOL

    $email['body'] = 'Bună,%0D%0A' . PHP_EOL
  . 'Lorem ipsum.%0D%0A' . PHP_EOL
  . 'Mulțumiri,%0D%0A' . PHP_EOL
  . 'WordPress';
23 feb. 2018 16:04:58
Comentarii

ț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.

Mark Kaplun Mark Kaplun
23 feb. 2018 16:24:47

da, probabil cel mai bine este să folosești "\n" pentru emailuri atunci.

majick majick
24 feb. 2018 01:33:17