Incluir HTML en la función wp_mail de WordPress
Una de las muchas funciones interesantes del CMS del momento, es wp_mail. Una función que nos permite enviar un email desde cualquier punto.
Es especialmente útil para cuando estemos programando un plugin o editando uno, y necesitemos enviar notificaciones al usuario y/o al administrador para notificar cambios.
Su sintaxis es:
wp_mail( $destinatario, $asunto, $cuerpo, $cabeceras );
Y su principal problema es que, por defecto, envía texto plano…
¡Pero todo tiene solución! Si deseamos incluir texto formateado (negritas, colores, diferentes fuentes o tamaños), imágenes, tablas, links, etc… únicamente tenemos que aplica cualquiera de estos dos métodos:
Método 1: A través de las cabeceras
Indicamos a la función que el texto que se va a enviar contiene HTML y por lo tanto debe interpretarlo como tal.
$destinatario = 'sendto@example.com'; $asunto = 'Aquí va el asunto del correo'; $cuerpo= 'El cuerpo del mensaje con todo el HTML que queramos. Por ejemplo: <a href="https://www.loopeando.com">Loopeando.com</a>'; $cabeceras= array('Content-Type: text/html; charset=UTF-8'); wp_mail( $destinatario, $asunto , $cuerpo, $cabeceras);
Método 2: Cambiamos que por defecto la función utilice texto plano
Debemos añadir este texto en el functions.php de tu tema activo, o en el de tu plugin.
function wpse27856_set_content_type(){ return "text/html"; } add_filter( 'wp_mail_content_type','wpse27856_set_content_type' );
¿Te ha resultado útil esta entrada? ¡Compártela para ayudar a otros programadores como tú!
Escribir comentario