Buscar
Buscar
Buscar
Cerrar este cuadro de búsqueda.

Mensajes condicionales según cantidad total del carrito

Reproducir vídeo

En esta ocasión quiero mostrarte cómo añadir mensajes personalizados a la página de producto y al carrito en función de la cantidad de compra que haya en el carrito.

Esto es muy útil por ejemplo para ampliar el ticket medio de compra en tu tienda online, ya que le dice al cliente cuánto debe aumentar su compra para conseguir los gatos de envío gratis.

CÓDIGO PARA FUNCTIONS.PHP

// Muestra mensaje condicional por mínimo de compra en el PRODUCTO
add_action( 'woocommerce_after_add_to_cart_button', 'mostrar_mensaje_regalo' );

function mostrar_mensaje_regalo() {
// Obtiene el total del carrito
$subtotal_carrito = WC()->cart->subtotal;

// Comprueba si el total es igual o superior a 30€
if ( $subtotal_carrito >= 30 ) {
// Muestra el mensaje de regalo
echo '<p class="mensaje-regalo"><i class="fa-solid fa-truck-fast" style="margin-right: 8px;"></i><strong>¡Enhorabuena!</strong> Ya tienes el <strong>envío gratis</strong> en España península</p>';
} else {
// Muestra el mensaje para añadir más al carrito
$falta_para_regalo = 30 - $subtotal_carrito;
echo '<p class="mensaje-regalono"><i class="fa-solid fa-truck-fast" style="margin-right: 8px;"></i>Añade <strong>' . wc_price($falta_para_regalo) . ' </strong>más para <strong>envío gratis</strong> en España península</p>';
}
}

// Función para mostrar mensaje en el carrito
function mostrar_mensaje_carrito() {
// Obtiene el subtotal del carrito
$subtotal_carrito = WC()->cart->subtotal;

// Verifica si el subtotal del carrito es igual o superior a 30€
if ($subtotal_carrito >= 30) {
$mensaje = '<div class="mensaje-carritook"><i class="fa-solid fa-truck-fast" style="margin-right: 8px;"></i><strong>¡Felicidades!</strong> Ya tienes el <strong>envío gratis</strong> en España península</div>';
} else {
// Calcula la cantidad que falta para alcanzar los 30€
$falta = 30 - $subtotal_carrito;
$mensaje = '<div class="mensaje-carritono"><i class="fa-solid fa-truck-fast" style="margin-right: 8px;"></i>Añade <strong>' . wc_price($falta) . '</strong> más para <strong>envío gratis</strong> en España península</div>';
}

// Muestra el mensaje en el carrito
echo $mensaje;
}
add_action('woocommerce_after_cart_table', 'mostrar_mensaje_carrito');

 

CÓDIGO CSS

.mensaje-condicional {
    color: #4aa401;
    margin-bottom: 10px;
font-size:14px;
}
p.mensaje-regalono {
    background-color: #ffd7ec;
    padding: 20px;
    font-size: 14px;
    color: #000;
    float: inline-start;
}
p.mensaje-regalo {
    background-color: #4aa401;
    padding: 20px;
    font-size: 14px;
    color: #fff;
float: left;
}
.mensaje-carritono {
    background-color: #ffd7ec;
    padding: 20px;
    font-size: 16px;
    color: #000;
margin-bottom:30px;
}
.mensaje-carritook {
    background-color: #4aa401;
    padding: 20px;
    font-size: 14px;
    color: #fff;
margin-bottom:30px;
}