Soporte » Plugins y Hacks » WooCommerce » Multiplicar el total de un producto específico

  • Buen dia comunidad, tengo un detalle con la creacion de un codigo que me permita multiplicar el valor total de un producto específico por otro valor añadido mediante un ID y el resultado lo muestre en una alerta

    Ejemplo, si voy a comprar un cable de 10$ mas el impuesto de 1.5$ total: 11.5$
    Tengo un valor de cambio de 5bs (es de Venezuela la tasa de cambio fluctúa diariamente).
    Quiero multiplicar el total por el valor de cambio = 11.5$ x 5bs = 57.5bs y este resultado aparezca en una alerta. Ojo solo para ese producto

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • Moderador kallookoo

    (@kallookoo)

    Hola @dehm13

    Cuando dices una alerta, a que te refieres exactamente?
    Si sabes programar, te podria orientar pero en el caso contrario creo que lo mejor seria usar un plugin de fees (tarifa o cuota) para que se añada al producto y se calcule automaticamente, pero no conozco ninguno que muestre alguna alerta de ningun tipo.

    Iniciador del debate dehm13

    (@dehm13)

    Buen dia, cuando hablo de una alerta me refiero a la ventana modal de alert tipo popup.
    No tengo mucho conocimiento en los hooks de WordPress, pero imagino una funcion en la pagina de checkout que tenga una condicional aplicada solo a un producto id, si este producto existe se realiza la multiplicacion del valor total x el tipo de cambio del dia (este tipo de cambio tiene un ID) y asi sin modificar el detalle de la factura el usuario sabe cual es el total a cancelar.

    Espero y agradezco la ayuda.

    Iniciador del debate dehm13

    (@dehm13)

    Buen día, por los momentos voy así, quisiera saber como puedo resolver el faltante del código para que imprima la multiplicación del total por otro monto y que solo sea para un producto especifico identificado por ID, SKU o tipo de producto ya que es un producto virtual.

     add_action( 'woocommerce_review_order_before_payment', 'calculo_tasa', 10 );
    function calculo_tasa(){
    /*falta la condición del producto ID, si el producto existe entonces se ejecuta el código*/
       $bcv = 0; //tasa de cambio
       $total-compra = 0; //monto total del pedido
    
       $total = $bcv * $total-compra;
    
       echo "Total a Transferir <br> $total bs.";
    
    $calcular = "Total a Transferir = $total bs.";
    
    echo "<script> alert('".$calcular."'); </script>";
    
    }

    espero alguien pueda ayudarme con este detalle, gracias.

    Moderador kallookoo

    (@kallookoo)

    Hola @dehm13

    Tienes que obtener los productos del pedido y hacer un foreach para comprobar si x producto es el que quieres mostrar ese alert.

    Para hacerlo puedes usar WC()->cart->get_cart() o WC()->cart->get_cart_contents() dependiendo si es necesario obtener los productos desde una sesion previa o no.

    Iniciador del debate dehm13

    (@dehm13)

    hola de nuevo me ayudo mucho lo que comentaste hasta los momentos estoy asi:

    //calculo de positivo
    add_action( 'woocommerce_review_order_before_payment', 'total_compra_positivo' );
    function total_compra_positivo() {
    $product_id = 17; // ID del producto
    $in_cart = false;
    
    // Busco los productos del carrito y veo si esta el ID 17
    foreach( WC()->cart->get_cart() as $cart_item ) {
       $product_in_cart = $cart_item['product_id'];   
    
       if ( $product_in_cart === $product_id ) $in_cart = true;
    }
      // Imprimo la noticia a mostrar 
        if ( $in_cart ) {
    	//Falta el monto total del pedido 
    		$notice = 'Total a pagar = ' . 'Total del pedido';
            wc_print_notice( $notice );
        }
    }

    Como puedo conseguir el total del pedido para multiplicarlo e imprimirlo en la noticia?

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • El debate ‘Multiplicar el total de un producto específico’ está cerrado a nuevas respuestas.