Permitir HTML en los correos de WordPress
Estoy seguro que sabes que la función wp_mail se encarga, en WordPress, del envío de correos desde la propia plataforma.
Pero wp_mail por sí solo no sé si te resultará útil al 100% ya que no te deja meter en su contenido etiquetas HTML. Es decir, si lo que necesitas es mandar una frase como «Hola, querido lector.» al correo «prueba@prueba.es» tienes que hacer lo siguiente:
$cabecera = 'From: joseacat.io <noreply@joseacat.io>' . "\r\n\\";
$cuerpo_correo = "Hola, querido lector.";
wp_mail( 'prueba@prueba.es', 'Asunto del correo', $cuerpo_correo, $cabecera );
El problema, como digo, es cuando quieres meter un contenido más ‘elaborado’ y etiquetarlo con HTML. Por ejemplo si quieres poner:
Hola, querido lector.
Este es el contenido de tu correo.
En ese caso deberías utilizar:
$cabecera = 'From: joseacat.io <noreply@joseacat.io>' . "\r\n\\";
$cuerpo_correo = "<h1>Hola, querido lector.</h1><p>Este es el cuerpo de tu correo.</p>";
wp_mail( 'prueba@prueba.es', 'Asunto del correo', $cuerpo_correo, $cabecera );
Y, para que la función sepa interpretar ese contenido HTML, además, deberás añadir este action en el functions.php de tu tema o en tu plugin:
/**
Permite meter etiquetas HTML en los correos enviados mediante wp_mail
@return string
*/
function permitir_html_en_wp_mail(){
return "text/html";
}
add_filter( 'wp_mail_content_type','permitir_html_en_wp_mail' );
Espero que os ayude en vuestro desarrollo. 😉