Pulsa ESC para cerrar

Curso WordpressCurso Wordpress

Personalizar los correos de WooCommerce: ajustes, plantillas y hooks

Casi nadie lee las páginas legales de tu tienda, pero todo el mundo abre el correo de confirmación de su pedido. Es la comunicación con más atención que vas a tener, y la mayoría de las tiendas deja el correo por defecto, en inglés a medias y con el morado de WooCommerce.

Esta guía va de lo más sencillo (sin código) a lo más completo.

Nivel 1: los ajustes

En WooCommerce → Ajustes → Correos electrónicos tienes:

  • La lista de correos: nuevo pedido (para ti), pedido en espera, procesando, completado, reembolsado, nota al cliente, restablecer contraseña, cuenta nueva. Cada uno se puede activar, desactivar y editar.
  • En cada correo: asunto, encabezado y un texto adicional.
  • Opciones de remitente: el nombre y la dirección que verá el cliente. Usa una dirección de tu dominio ([email protected]), no una de Gmail.
  • Plantilla: logo, colores de fondo, del cuerpo, del texto y de la marca, y el pie del correo.

En los asuntos puedes usar marcadores como {order_number}, {order_date} y {site_title}. «Tu pedido {order_number} ya está en camino» funciona mucho mejor que «Your order is complete».

Las versiones recientes de WooCommerce están incorporando un editor de correos basado en bloques, más visual. Si en tu tienda aparece la opción de probarlo en Ajustes → Avanzado → Funcionalidades, vale la pena revisarlo en un sitio de pruebas.

Nivel 2: agregar contenido con hooks

Muchas veces no quieres cambiar el diseño, solo agregar algo: el horario de retiro, el enlace de seguimiento, una nota sobre la boleta. Para eso no hace falta tocar plantillas; basta con un hook. Por ejemplo, un mensaje solo en el correo de pedido completado:

<?php
/**
 * Plugin Name: Mensaje en correo de pedido completado (Curso WordPress)
 */

add_action( 'woocommerce_email_before_order_table', function ( $order, $sent_to_admin, $plain_text, $email ) {
	if ( $sent_to_admin || 'customer_completed_order' !== $email->id ) {
		return;
	}
	$mensaje = '¡Tu pedido va en camino! Si tienes dudas, responde este correo o escríbenos por WhatsApp.';
	if ( $plain_text ) {
		echo $mensaje . "\n\n";
	} else {
		echo '<p style="padding:12px;background:#f1f5f9;border-radius:6px;">' . esc_html( $mensaje ) . '</p>';
	}
}, 10, 4 );

Otros puntos donde puedes enganchar contenido:

  • woocommerce_email_order_details: junto al detalle del pedido.
  • woocommerce_email_after_order_table: después de la tabla de productos.
  • woocommerce_email_customer_details: junto a los datos del cliente.
  • woocommerce_email_footer: en el pie.

Los ID de los correos más usados son new_order, customer_processing_order, customer_completed_order, customer_on_hold_order, customer_refunded_order y customer_note.

Nivel 3: sobrescribir una plantilla

Si necesitas cambiar la estructura (reordenar bloques, quitar la dirección de facturación, cambiar la tabla), copia la plantilla a tu tema:

  1. Busca el archivo original en wp-content/plugins/woocommerce/templates/emails/, por ejemplo customer-completed-order.php.
  2. Cópialo a wp-content/themes/tu-tema-hijo/woocommerce/emails/customer-completed-order.php.
  3. Edita la copia. WooCommerce usará la de tu tema.

Usa siempre un tema hijo. Si copias la plantilla en el tema principal, la próxima actualización del tema la borra. Y revisa de vez en cuando WooCommerce → Estado → Plantillas desactualizadas: cuando WooCommerce cambia una plantilla, tu copia queda antigua y conviene actualizarla.

Prefiere siempre los hooks del nivel 2. Una plantilla sobrescrita es algo más que mantener en cada actualización.

Probar los correos

Nunca pruebes con pedidos reales de clientes:

  • Haz pedidos de prueba con un medio de pago en modo de pruebas o con «Transferencia bancaria» y cambia su estado a mano.
  • Desde la ficha de un pedido, en Acciones del pedido, puedes reenviar cualquier correo para verlo de nuevo después de un cambio.
  • Ábrelo en el celular: la mayoría de tus clientes lo leerá ahí.

Si los correos no llegan o caen en spam, el problema es de envío, no de diseño: configura un SMTP con SPF, DKIM y DMARC en tu dominio.

¿Quieres agregar algo a tus correos y no sabes en qué hook va? Cuéntanos en el foro qué quieres mostrar y en qué correo.