¿Cómo puedo dejar de redondear los gastos de envío en Woocommerce?

3 minutos de lectura

avatar de usuario
Rohit Gautam

Cuando estoy agregando el cargo de envío 58.75 a Woocommerce. Está redondeando esto a 59. Quiero el cargo de envío exacto 58.75.

¿Alguien que se haya enfrentado a esto?

  • Woocommerce de forma predeterminada no redondearía el costo de envío, podría deberse a alguna interferencia externa. Prueba desactivando los complementos uno por uno. y verifique dos veces si hay fragmentos sospechosos en sus funciones.php

    – Nishad Arriba

    28 de febrero de 2019 a las 10:46


  • No he agregado ningún complemento que redondee el costo de envío. es por funcionalidad predeterminada.

    –Rohit Gautama

    28 de febrero de 2019 a las 10:59


  • No, no es. WooCoomerce no lo redondeará a menos que no brinden la opción de configurarlo. Verifique con el complemento de envío que está utilizando.

    – Nishad Arriba

    28 de febrero de 2019 a las 11:19

  • No puedo encontrar ninguna solución. Creo que este es el único Woocommerce que está redondeando el precio de envío 🙁

    –Rohit Gautama

    1 de marzo de 2019 a las 12:13

  • Dame un acceso temporal a tu sitio, puedo verificarlo por ti

    – Nishad Arriba

    2 de marzo de 2019 a las 14:58

Vaya a WooCommerce > Configuración > Pestaña General y confirme que el ‘Número de decimales’ es 2.

ingrese la descripción de la imagen aquí

  • @RohitGautam ¿Puede actualizar su pregunta con la lista de complementos que ha instalado y qué tema está utilizando?

    – Sagar Bahadur Tamang

    7 de marzo de 2019 a las 4:51


  • El problema es que no puedo establecer el número de decimales en 2. Solo muestra 0 siempre

    –Rohit Gautama

    8 de marzo de 2019 a las 4:49

  • @RohitGautam ¿Puede configurar WP_DEBUG en verdadero y decirnos qué muestra el error?

    – Sagar Bahadur Tamang

    8 de marzo de 2019 a las 4:50

  • Tienes razón. De forma predeterminada, WooCommerce establece el Número de decimales en 2. Esto se debió a un complemento que redondeaba todo en el sitio web. Lo he descubierto recientemente. Gracias por tu ayuda 🙂

    –Rohit Gautama

    12 de marzo de 2019 a las 6:51

  • @RohitGautam Me alegro de ayudar.

    – Sagar Bahadur Tamang

    12 de marzo de 2019 a las 6:57

/**
 * Get rounding precision for internal WC calculations.
 * Will increase the precision of wc_get_price_decimals by 2 decimals, unless WC_ROUNDING_PRECISION is set to a higher number.
 *
 * @since 2.6.3
 * @return int
 */
function wc_get_rounding_precision() {
    $precision = wc_get_price_decimals() + 2;
    if ( absint( WC_ROUNDING_PRECISION ) > $precision ) {
        $precision = absint( WC_ROUNDING_PRECISION );
    }
    return $precision;
}

Verifique que WC_ROUNDING_PRECISION se haya configurado en otro lugar (tal vez en el tema)

Aquí hay algunas constantes que puede configurar para modificar el cálculo de redondeo: https://github.com/woocommerce/woocommerce/blob/master/includes/class-woocommerce.php#L207-L209. Se definirían anteriormente en su archivo wp-config para cambiar, creo.

Puede ver aquí que WC usará principalmente el que sea más alto: https://github.com/woocommerce/woocommerce/blob/64bcabf0af9a05274d53ec833a4e8c9153509bc4/includes/wc-core-functions.php#L1549-L1553. O la constante WC_ROUNDING_PRECISION o el número de decimales que ha establecido más 2.

Deberías comprobar los archivos de tu tema.

Navegue hasta el archivo en su tema que está llamando a la función para mostrar el precio.

Puede haber una función PHP redondo()

Documentación: haga clic aquí

Ejemplo :

En su archivo de tema puede haber un código como este:

<?php echo round($price); ?>

Deberías cambiarlo a:

<?php echo $price; ?>

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad