5
votes

Comment puis-je arrêter d'arrondir les frais d'expédition dans Woocommerce

Lorsque j'ajoute des frais de livraison de 58,75 à Woocommerce. Il arrondit à 59. Je veux des frais de livraison exacts de 58,75.

Quelqu'un qui a été confronté à cela?


7 commentaires

Woocommerce par défaut n'arrondirait pas les frais d'expédition, cela pourrait être dû à une interférence externe. Essayez de désactiver les plugins un par un. et vérifiez à nouveau si des extraits suspects sur votre functions.php


Je n'ai ajouté aucun plugin qui arrondira les frais d'expédition. c'est par défaut la fonctionnalité.


Non, ça ne l'est pas. WooCommerce ne l'arrondira pas à moins de ne pas fournir l'option de configuration. Veuillez vérifier avec le plugin d'expédition que vous utilisez.


Je ne trouve aucune solution. Je pense que c'est le seul Woocommerce qui arrondit le prix d'expédition :(


Donnez-moi un accès temporaire à votre site, je peux le vérifier pour vous


Désolé, je ne peux pas vous donner accès


La taxe @RohitGautam est activée?


3 Réponses :


4
votes

Accédez à l'onglet WooCommerce> Paramètres> Général et confirmez que le "Nombre de décimales" est égal à 2.

 entrez la description de l'image ici


5 commentaires

@RohitGautam Pouvez-vous mettre à jour votre question avec la liste des plugins que vous avez installés et le thème que vous utilisez?


Le problème est que je ne parviens pas à définir le nombre de décimales sur 2. Il n'affiche que 0 toujours


@RohitGautam Pouvez-vous définir le WP_DEBUG sur true et nous dire ce que l'erreur montre?


Vous avez raison. Par défaut, wooCommerce définit le nombre de décimales sur 2. C'était à cause d'un plugin qui arrondissait tout sur le site Web. Je l'ai découvert récemment. Merci de votre aide :)


@RohitGautam Heureux de vous aider.



4
votes

Vous devriez vérifier vos fichiers de thème.

Accédez au fichier de votre thème qui appelle la fonction pour afficher le prix.

Il peut y avoir la fonction PHP round ()

Documentation: Cliquez ici

Exemple:

Dans votre fichier de thème, il peut y avoir un code comme celui-ci:

<?php echo $price; ?>

Vous devriez le changer en:

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


0 commentaires

5
votes
/**
 * 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;
}
Please check WC_ROUNDING_PRECISION has been set somewhere else ( maybe in theme )Here are some constants you can set to alter rounding calculation: https://github.com/woocommerce/woocommerce/blob/master/includes/class-woocommerce.php#L207-L209. They’d be defined earlier in your wp-config file to change I believe.Can see here, that WC will mostly use whichever is higher: https://github.com/woocommerce/woocommerce/blob/64bcabf0af9a05274d53ec833a4e8c9153509bc4/includes/wc-core-functions.php#L1549-L1553. Either WC_ROUNDING_PRECISION constant, or the number of decimals you have set plus 2.

0 commentaires