En este momento estás viendo Importe minimo de compra en Woocommerce

Importe minimo de compra en Woocommerce

Las tiendas online que ofrecen productos con poco margen, productos pequeños o bien B2B en muchas ocasiones necesitan establecer un precio mínimo para que la venta les salga rentable. Es aquí donde entra la funcionalidad de establecer una compra mínima en WooCommerce para que el cliente pueda comprar.

Como siempre en la sección de snippets no usaremos ningún plugin para aplicar esto en nuestra tienda, tan solo un código.



Snippet para establecer un pedido mínimo

Añade este código a tu functions.php o a tu plugin de funcionalidades como explico aquí.

// Establecer un importe minimo en la compra
function woocommerce_importe_minimo() {
$minimum = 20; // Debes cambiar el 20 por el importe mínimo que quieras establecer en tu pedido
if ( WC()->cart->total < $minimum ) {
if( is_cart() ) {
wc_print_notice(
sprintf( ‘ Debes realizar un pedido mínimo de %s para finalizar su compra.’ , // Pon aquí el texto que quieras que se muestre en el carrito de compra.
wc_price( $minimum ),
wc_price( WC()->cart->total )
), ‘error’
);
} else {
wc_add_notice(
sprintf( ‘No puedes finalizar tu compra. Debes realizar un pedido mínimo de %s para finalizar su compra.’ , // Pon aquí el texto que quieras que se muestre en la página de finalizar compra.
wc_price( $minimum ),
wc_price( WC()->cart->total )
), ‘error’
);
}
}
}
add_action( ‘woocommerce_checkout_process’, ‘woocommerce_importe_minimo’ );
add_action( ‘woocommerce_before_cart’ , ‘woocommerce_importe_minimo’ );

Con esto no solo sale un aviso en la página de carrito y de finalizar compra avisando que el pedido mínimo en este caso es 20€(lo puedes modificar).

establecer un importe minimo en woocommerce

Sino que también no te deja finalizar la compra hasta que no añadas dicho importe. Cumpliendo así su función principal.

importe minimo de compra en woocommerce sin plugin

Establecer un pedido mínimo en WooCommerce sin Impuestos

Aviso de que para que este snippet funcione debes tener bien configurada los impuestos en tu WooCommerce dependiendo de la ciudad. Este ejemplo es para un pedido mínimo de 60€ IVA no incluído:

// Establecer un importe minimo en la compra sin Impuestos
function woocommerce_importe_minimo() {
$minimum = 60; // Debes cambiar el 60 por el importe mínimo que quieras establecer en tu pedido
if ( (WC()->cart->subtotal – WC()->cart->tax_total) < $minimum ) {
if( is_cart() ) {
wc_print_notice(
sprintf( ‘ Debes realizar un pedido mínimo WooCommerce de %s sin IVA para finalizar su compra.’ , // Pon aquí el texto que quieras que se muestre en el carrito de compra.
wc_price( $minimum ),
wc_price( (WC()->cart->subtotal – WC()->cart->tax_total) )
), ‘error’
);
} else {
wc_add_notice(
sprintf( ‘No puedes finalizar tu compra. Debes realizar un pedido mínimo WooCommerce de %s sin IVA para finalizar su compra.’ , // Pon aquí el texto que quieras que se muestre en la página de finalizar compra.
wc_price( $minimum ),
wc_price( (WC()->cart->subtotal – WC()->cart->tax_total) )
), ‘error’
);
}
}
}
add_action( ‘woocommerce_checkout_process’, ‘woocommerce_importe_minimo’ );
add_action( ‘woocommerce_before_cart’ , ‘woocommerce_importe_minimo’ );

Establecer un pedido mínimo o máximo de un producto

En este caso si hiciésemos un código para cada producto nos podríamos morir, así que vamos a crear un campo en la zona de Inventario dentro de cada producto para que nosotros o el cliente lo pueda modificar de forma sencilla.

add_action( ‘woocommerce_product_options_inventory_product_data’, ‘dl_añadir_campo_minmax’ );
function dl_añadir_campo_minmax() {

echo ‘<div class=”options_group”>’;
woocommerce_wp_text_input(
array(
‘id’ => ‘_wc_min_qty_product’,
‘label’ => __( ‘Cantidad Mínima’, ‘woocommerce-max-quantity’ ),
‘placeholder’ => ”,
‘desc_tip’ => ‘true’,
‘description’ => __( ‘Opcional. Establece un límite de cantidad mínima permitida por pedido. Introduzca un número, 1 o más.’, ‘woocommerce-max-quantity’ )
)
);
echo ‘</div>’;

echo ‘<div class=”options_group”>’;
woocommerce_wp_text_input(
array(
‘id’ => ‘_wc_max_qty_product’,
‘label’ => __( ‘Cantidad Máxima’, ‘woocommerce-max-quantity’ ),
‘placeholder’ => ”,
‘desc_tip’ => ‘true’,
‘description’ => __( ‘Opcional. Establece un límite de cantidad máxima permitida por pedido. Introduzca un número, 1 o más.’, ‘woocommerce-max-quantity’ )
)
);
echo ‘</div>’;
}

add_action( ‘woocommerce_process_product_meta’, ‘dl_guardar_minmax’ );

function dl_guardar_minmax( $post_id ) {
$val_min = trim( get_post_meta( $post_id, ‘_wc_min_qty_product’, true ) );
$new_min = sanitize_text_field( $_POST[‘_wc_min_qty_product’] );

$val_max = trim( get_post_meta( $post_id, ‘_wc_max_qty_product’, true ) );
$new_max = sanitize_text_field( $_POST[‘_wc_max_qty_product’] );

if ( $val_min != $new_min ) {
update_post_meta( $post_id, ‘_wc_min_qty_product’, $new_min );
}

if ( $val_max != $new_max ) {
update_post_meta( $post_id, ‘_wc_max_qty_product’, $new_max );
}
}

Con esto nos queda un campo en cada producto desde el administrador de WooCommerce tal que así:

pedido minimo producto woocommerce
Campos de unidades máximas y mínimas en cada producto

Establecer pedido minimo en WooCommerce con Plugin

Nos lo han pedido mucho en contacto que lo hiciese con un plugin para los que no saben de código, así que dejo aquí algunos muy buenos:

Min/Max Quantities de WooCommerce: Es el oficial de WooCommerce y es bastante completo. Te permite establecer tanto en pedidos como en productos un importe mínimo y máximo de compra, permitiendo a su vez excluir productos y crear reglas condicionales.

Woocommerce Minimum and Maximum Quantity: Este es mas simple que el anterior y lo puedes encontrar gratis en el repositorio oficial.

Consejos de aplicación

Una vez que establezcas esta función sería conveniente informar a los visitantes de tu sitio web que solo podrán hacer el pedido si compran mas de X€. Para que una vez que lleguen al carrito no se encuentren con la sorpresa y cause rechazo.

Sería bueno anunciar en la página de inicio o en la zona de ventajas competitivas que explicaba aquí. Cualquier duda o aplicación de este código dejármela en comentarios o en contactar. Recuerda que tienes nuestros servicios de desarrollo de tiendas online, asesoría y mucho más.



Deja una respuesta