Soporte » Plugins y Hacks » WooCommerce » Importe mínimo asegurado

  • Resuelto evasonder

    (@evasonder)


    Buenos días,

    Me gustaría saber si se puede hacer que al comprar un producto que sea inferior el importe neto a 10 euros (sin contar el envío ni el I.V.A.) se cree un importe fijo de 10 euros como producto Como un añadido.
    Por ejemplo compran solo una sonda de 6,8€ pues al finalizar la compra antes de pagar que salga importe mínimo 10€ y se cobre 10 + IVA+ENVIO. Espero haberme explicado

    Muchas gracias

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 9 respuestas - de la 1 a la 9 (de un total de 9)
  • Moderador Jose Luis

    (@jose64)

    Hola

    Tienes opciones más elegante que añadir un producto ficticio que no vas a enviar. Revisa este snippet de WooCommerce, basándote en eso puedes forzar el total del carrito al mínimo mientras no se alcance esa cantidad.

    Minimum Order Amount

    evasonder

    (@evasonder)

    Gracias por el código,
    pero es que mi jefe quiere que si piden un producto con un precio menor a 10€, se les cobre como mínimo un importe de 10€ a parte enví e IVA

    Gracias

    Moderador Jose Luis

    (@jose64)

    Hola @evasonder

    Revisa este otro snippet de WooCommerce:

    Add a surcharge to cart and checkout – uses fees API

    Prueba este código en el archivo functions.php de tu tema hijo o en un plugin de personalizaciones:

    add_action( 'woocommerce_cart_calculate_fees','woocommerce_minimal_order' );
    function woocommerce_minimal_order() {
      global $woocommerce;
    	if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    		return;
    /*		
    // 	Asigna a $minimalorder el valor mínimo del pedido
    */
    	$minimalorder = 10;
    	$currentorder = $woocommerce->cart->cart_contents_total;
    	$extrafee = $minimalorder - $currentorder;
    	if ( $extrafee > 0 ) {
    		wc_print_notice(
    		    sprintf( 'El total de tu pedido es %s. Compra algún artículo más para alcanzar el mínimo de %s o se añadirá un suplemento de %s a la hora del pago.' ,
    		        wc_price( $currentorder ),
    		        wc_price( $minimalorder ),
    		        wc_price( $extrafee )
    		    ), 'error'
    		);
    		$woocommerce->cart->add_fee( 'Suplemento pedido mínimo', $extrafee, true, '' );
    	}
    }

    Si te funciona correctamente recuerda comentarlo y cerrar el debate marcándolo como resuelto, así nos ayudas a mantener el foro al día.

    evasonder

    (@evasonder)

    Gracias Jose Luis,

    No me dejaba incluir el código desde el editor de temas de wordpress, así que he abierto el archivo directamente, pero al incluir el código me ha dado error fatal y he tenido que deshacer los cambios.

    Tengo instalado woocommerce con el tema customify y la plantilla OUTFIT.

    Gracias

    Adrián de Grafreak

    (@adriandegrafreak)

    Hola,
    ¿Pusiste el código entre etiquetas php?
    Deberías poner

    <?php
    //codigo q te paso @jose64 
    ?>

    Espero que así se te solucione.

    evasonder

    (@evasonder)

    me sigue dando error, código ( no tengo ni idea de código, será mi próxima meta):

    }
    <?php
    //add_action( ‘woocommerce_cart_calculate_fees’,’woocommerce_minimal_order’ );
    function woocommerce_minimal_order() {
    global $woocommerce;
    if ( is_admin() && ! defined( ‘DOING_AJAX’ ) )
    return;
    /*
    // Asigna a $minimalorder el valor mínimo del pedido
    */
    $minimalorder = 10;
    $currentorder = $woocommerce->cart->cart_contents_total;
    $extrafee = $minimalorder – $currentorder;
    if ( $extrafee > 0 ) {
    wc_print_notice(
    sprintf( ‘El total de tu pedido es %s. Compra algún artículo más para alcanzar el mínimo de %s o se añadirá un suplemento de %s a la hora del pago.’ ,
    wc_price( $currentorder ),
    wc_price( $minimalorder ),
    wc_price( $extrafee )
    ), ‘error’
    );
    $woocommerce->cart->add_fee( ‘Suplemento pedido mínimo’, $extrafee, true, » );
    }
    ?>

    }

    Customify();

    Moderador Jose Luis

    (@jose64)

    Hola @evasonder

    El código está preparado para añadirlo al archivo functions.php de tu tema hijo o a un plugin de personalizaciones como Code Snippets.

    Lo ideal es que uses un tema hijo para evitar que con las actualizaciones pierdas personalizaciones, puedes crearlo manualmente o con un plugin, tienes más información en este debate:

    problemas tema hijo

    Con respecto al plugin de personalizaciones (Code Snippets) tienes la ventaja de puedes activar, desactivar y exportar el código fácilmente.

    En los dos casos el código no lleva etiqueta de apertura parque ya está previamente en el archivo functios.php y Code Snippets la pone automáticamente.

    Adrián de Grafreak

    (@adriandegrafreak)

    Hola @evasonder

    Haz caso a @jose64. Al no entender como funciona el código utilizalo dentro del plugin Code Snippets.

    Copia el código que te pasó inicialmente en su primer comentario, el segundo que pasas tu tienen errores de formato.

    Espero que no te haya mareado y que puedas conseguirlo.

    evasonder

    (@evasonder)

    Muchas Gracias
    me ha funcionado perfectamente

Viendo 9 respuestas - de la 1 a la 9 (de un total de 9)
  • El debate ‘Importe mínimo asegurado’ está cerrado a nuevas respuestas.