Esta duda se puede abordar de diversas maneras, pero te dejamos la que en nuestra opinión es la respuesta más completa.
Solución:
Deberías usar ob_get_contents()
ob_start();
include('template/email-header.php');
printf(__('A very special welcome to you, %1$s. Thank you for joining %2$s!
', 'cell-email'), $greetings, get_bloginfo('name'));
printf(__(' Your password is %s
Please keep it secret and keep it safe!
', 'cell-email'), $plaintext_pass);
printf(__('We hope you enjoy your stay at %s. If you have any problems, questions, opinions, praise, comments, suggestions, please feel free to contact us at any time
', 'cell-email'), get_bloginfo('name'));
include('template/email-footer.php');
$message = ob_get_contents();
ob_end_clean();
wp_mail($user_email, $email_subject, $message);
y en el template/email-header.php
puedes usar
Podrías hacer algo un poco más como fusionar campos. De esa manera, puede mantener su html y PHP separados mediante el uso de una plantilla de correo electrónico con marcadores de posición y ejecutar un string reemplazar en ellos. Algo como lo siguiente:
HTML
(headertags)
[POST.TITLE]
[POST.CONTENT]
PHP
$html_email_template_file = 'some/path/mytemplate-example.html';
// assign contents of file to $content var
$content = file_get_contents($html_email_template_file);
$content = str_replace('[POST.TITLE]', $post->post_title, $content);
$content = str_replace('[POST.CONTENT]', $post->post_excerpt, $content);
// send your email here ...
Comentarios y valoraciones del artículo
Si guardas algún recelo y disposición de desarrollar nuestro división eres capaz de añadir una interpretación y con placer lo ojearemos.