Personalizar el texto de los correos de confirmación de pedido de WooCommerce

Cuando un cliente de nuestra tienda online montada con WordPress + WooCommerce finaliza un pedido (y lo abona), el sistema le envía automáticamente un correo que se lo confirma.

¿Qué tiene el correo que confirma el pago del pedido?

Habitualmente el correo que envía WooCommerce tiene lo siguiente:

  • Un título y el logotipo de la tienda (si se ha personalizado)
  • Bienvenida resumida
  • Tabla resumen de lo que ha comprado
  • Despedida
  • Factura adjunta si está el módulo de facturación configurado

¿Cómo puedo personalizar lo que aparece en dicho email?

Tenemos principalmente dos formas de hacerlo:

  1. Editando la plantilla
  2. Mediante una acción, insertando código HTML con PHP

Me gusta más la segunda opción, ya que nos permite añadir funcionalidad (como por ejemplo dar datos específicos del pedido, del producto, …) y además no nos obliga a tener un tema hijo, para personalizar siempre las plantillas del correo sobre el hijo (y así no perder el contenido en las actualizaciones del tema).

Videotutorial explicativo de cómo personalizar la cabecera y el pie del correo que envía WooCommerce.

Código necesario para la personalización.

Aquí tenéis el código PHP mencionado en el vídeo para facilitar la implementación en vuestros sitios web. Veámos el código necesario para personalizar el contenido previo a la tabla resumen:

add_action( 'woocommerce_email_before_order_table', 'personalizar_correo_woo_antes', 20, 4 );
function personalizar_correo_woo_antes( $order, $sent_to_admin, $plain_text, $email ) {
    if ( $email->id == 'customer_processing_order' )
    {
		echo "<p>Hola " . $order->get_billing_first_name() . " .</p>";
	  	echo "<p>Aquí seguimos explicando todo lo que necesitemos</p>";
    }
}

Y a continuación tenemos el código necesario para personalizar el contenido posterior a la tabla resumen:

add_action( 'woocommerce_email_after_order_table', 'personalizar_correo_woo_despues', 20, 4 );
function personalizar_correo_woo_despues( $order, $sent_to_admin, $plain_text, $email ) {
    if ( $email->id == 'customer_processing_order' )
    {
		echo "<p>Este es el texto que aparecerá después de la tabla</p>";
	  	echo "<p>Un saludo.</p>";
    }
}

Quizá te interese...
Deja un comentario...
Suscribirme
Notificación de
guest
0 Comentarios
Comentarios en línea
Ver todos los comentarios