• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Plugins / Mostrar un mensaje en la primera compra en WooCommerce

Mostrar un mensaje en la primera compra en WooCommerce

[ 9 enero 2024 ] [ Autor: Jhon Marreros Guzmán ][ Plugins - Intermedio] [ ]

mejoras

Suscríbete a DecodeCMS:  

Es posible que en algunos casos quieras incentivar futuras compras en tu tienda con WooCommerce mostrando un mensaje de un cupón de descuento para la próxima compra, en este artículo veremos cómo realizar esto a través de código.

 

Resultado Final

Al final queremos mostrar un mensaje en la primera compra del cliente, al momento de completar el pedio

Mostrar mensaje adicional en pedido completado

 
Y también cuando le llegue el correo de orden completada

Orden completada mensaje

 

Código para mostrar un mensaje en la primera compra

Mostraremos un mensaje tanto al finalizar la primera compra como en el correo de orden completada.

Puedes agregar el siguiente código como parte del archivo functions.php de tu tema hijo o usando algún plugin de Snippets.
El mensaje asume que ya tienes creado un cupón llamado PRIMERACOMPRA
// Código para mostrar mensaje al finalizar la primera compra
add_filter( 'woocommerce_thankyou_order_received_text', 'dcms_add_message_order_received', 10, 2 );
function dcms_add_message_order_received( $str, $order ): string {
	if ( count_current_user_orders() > 1 ) {
		return $str;
	}

	return $str . '<div class="woocommerce-message">
					Por ser tu primera compra puedes usar el cupón de descuento <strong>PRIMERACOMPRA</strong> para obtener un 10% de descuento en tu siguiente compra.
				</div>';
}

// Código para agregar un mensaje al correo de la primera compra
add_action( 'woocommerce_email_order_details', 'dcms_add_message_order_details', 10, 4 );
function dcms_add_message_order_details( $order, $sent_to_admin, $plain_text, $email ) {
	if ( $sent_to_admin
	     || $order->get_status() !== 'completed'
	     || count_current_user_orders() > 1  ) {
		return;
	}

	echo '<p>Por ser tu primera compra puedes usar el cupón de descuento <strong>PRIMERACOMPRA</strong> 
			para obtener un 10% de descuento en tu siguiente compra.</p>' ;
}

// Función auxiliar que devuelve la cantidad de órdenes válidas del cliente actual
function count_current_user_orders(): int {
	$args = array(
		'customer' => get_current_user_id(),
		'status'   => [ 'wc-completed', 'wc-on-hold' ],
	);

	return count( wc_get_orders( $args ) );
}

 

En el código anterior:

  • Con función auxiliar count_current_user_orders() contamos la cantidad de órdenes válidas que tiene un usuario, esta función la aislamos ya que será usada en diferentes partes del código.
  • Usamos el hook de filtro woocommerce_thankyou_order_received_text que hace referencia a la función dcms_add_message_order_received
  • La función count_current_user_orders recibe dos parámetros, hacemos una comprobación de la cantidad de órdenes
  • Para mostrar el mensaje simplemente concatenamos el mensaje al parámetro $str
  • El hook woocommerce_email_order_details, hace referencia a la función dcms_add_message_order_details
  • Desde esta función dcms_add_message_order_details podemos imprimir el mensaje, sin embargo antes hay que hacer comprobaciones

 

Conclusión

Como has podido comprobar, puedes añadir un mensaje para la primera orden del cliente, tanto cuando ha completado el proceso de compra, como cuando le ha llegado el correo de orden completada, y puedes hacerlo directamente a través de código.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Registrar usuarios sólo para la compra de ciertos productos en WooCommerceRegistrar usuarios sólo para la compra de ciertos productos en WooCommerce
  • Deshabilitar métodos de pago en WooCommerce según el total de pedidoDeshabilitar métodos de pago en WooCommerce según el total de pedido
  • Categoría padre en las clases del body de un producto de WooCommerceCategoría padre en las clases del body de un producto de WooCommerce
  • Eliminar automáticamente las imágenes al borrar un producto de WooCommerceEliminar automáticamente las imágenes al borrar un producto de WooCommerce
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (1 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

Cambiar el prefijo de las tablas de WordPress

Mostrar el nombre del archivo que esta usando un tema sin usar plugins

Agregar Iconos Font Awesome en el menú de WordPress

Refrescar los estilos CSS almacenados en el navegador de un usuario

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2026 Todos los derechos reservados