El siguiente fragmento de código PHP es para WooCommerce y tiene como objetivo mostrar un aviso en el carrito de compras cuando el usuario no ha alcanzado un umbral de gasto mínimo para obtener envío gratis.
//Función que prioriza los productos en stock function bf_priorize_stock( $args ) { $args['orderby'] = 'meta_value'; $args['order'] = 'ASC'; $args['meta_key'] = '_stock_status'; return $args; } add_filter( 'woocommerce_get_catalog_ordering_args', 'bf_priorize_stock', 9999 );
Ejemplos de Uso
- Tienda de Ropa: Si tienes una tienda de ropa y ofreces envío gratis para compras superiores a 100€, puedes usar este snippet para motivar a los clientes a añadir más artículos al carrito.
- Librería Online: Si tienes una librería online y ofreces envío gratis para compras superiores a 50€, este snippet puede ayudar a informar a los clientes cuánto más necesitan gastar para no pagar por el envío.
- Venta de Electrónicos: Si tienes una tienda de electrónicos y ofreces envío gratis en compras superiores a 200€, puedes usar este snippet para informar a los clientes cuánto más necesitan gastar para obtener el envío gratuito.
Funcionamiento Detallado del Código
El código es un snippet de PHP diseñado para trabajar con WooCommerce, el popular plugin de comercio electrónico para WordPress. Veamos cada parte del código:
function bf_free_shipping_cart_notice()
: Esta es la función que contiene todo el código para mostrar el aviso de envío gratis. Se ejecutará cuando se cumpla la condición del hookwoocommerce_before_cart
.$umbral = 50;
: Esta línea establece el umbral de gasto mínimo para el envío gratis. En este caso, el umbral está configurado en $50, pero puedes cambiarlo según tus necesidades.$current = WC()->cart->get_subtotal();
: Aquí, la funciónget_subtotal()
de WooCommerce se utiliza para obtener el subtotal actual del carrito de compras.if ( $current < $umbral )
: Esta es una declaración condicional que verifica si el subtotal del carrito es menor que el umbral establecido.wc_print_notice( '¡Gasta ' . wc_price( $umbral - $current ) . ' más y el envío será gratis!', 'notice' );
: Si la condición anterior es verdadera, se mostrará un aviso en el carrito. La funciónwc_price()
formatea el precio para que se muestre correctamente.add_action( 'woocommerce_before_cart', 'bf_free_shipping_cart_notice' );
: Finalmente, esta línea añade la funciónbf_free_shipping_cart_notice
al hookwoocommerce_before_cart
, lo que significa que la función se ejecutará antes de que se muestre el carrito de compras en la página.