Saltar al contenido

Wordpress: uso de plantillas de WordPress para correos electrónicos HTML

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.phppuedes usar



    
    
    <?php echo $email_subject ?>




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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *