[Résolu] Calcul 1% for the planet sur page de paiment (Créer un compte)

  • WordPress :6.1
  • Statut : résolu
15 sujets de 16 à 30 (sur un total de 33)
  • Auteur
    Messages
  • #2450982
    ferman
    Participant
    Maître WordPress
    6145 contributions

    @momo. C’est calculé sur le total, frais de livraison compris mais moins les taxes donc total ht. Dans ton cas, réduction de 0.4€  (1% sur 40 euros et non 45€). Si on veut sur le montant ht avant frais de livraison, il faudra encore modifier le snippet sans doute en prenant cart subtotal et non total.

    En tant que modérateur tu dois pouvoir supprimer les pièces jointes. Pourrais-tu stp enlever les miennes dans mes deux réponses? Merci.

    • Cette réponse a été modifiée le il y a 2 mois et 1 semaine par ferman.
    #2450985
    ferman
    Participant
    Maître WordPress
    6145 contributions

    Il me faut trouver une solution pour l’afficher alors,

    Il vous suffit d’avoir le « hook » adapté. Si vous ne trouvez pas tout seul dans la page panier de Divi (chercher « do_action(…)), Divi doit pouvoir vous renseigner.

    #2450988
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Je vais voir avec eux alors, merci en tout cas pour votre aide à tous les deux 🙂

    #2450990
    ferman
    Participant
    Maître WordPress
    6145 contributions

    @momo. Je n’avais pas vu cette réponse (j’étais occupé à en rédiger une autre). Donc oui, si on veut exclure les frais de port c’est ce qu’il faut faire.

    #2451002
    momofr@free.fr
    Modérateur
    Maître WordPress
    5884 contributions

    Salut, j’ai supprimé la TVA du calcul, ça semble bon là.

    // AJOUTER UN MESSAGE POUR 1% FOR THE PLANET
    add_action( 'woocommerce_cart_totals_after_shipping','woocommerce_custom_surcharge' );
    function woocommerce_custom_surcharge() {
    global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;

    $percentage = 0.01;
    $surcharge = round(( $woocommerce->cart->subtotal + $woocommerce->cart->shipping_total - $woocommerce->cart->tax_total )* $percentage,2);
    echo "<p class= 'surcharge'>Avec votre commande, vous reversez $surcharge € directement à 1% for the planet </p>";
    }

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2451007
    ferman
    Participant
    Maître WordPress
    6145 contributions

    @momo; Oui, comme ça c’est bon. Si on veut calculer la ristourne  sur le vrai sous-total (total du panier hors  taxes, avant frais d’expédition), il faut passer par sous-total. Je pense que $cart -> subtotal ne fonctionne pas (donne la même chose que total) il faut utiliser la ligne modifiée dans le snippet ci-dessous. En fait ces histoires de total, sous total, avec ou sans taxes sont assez complexes.

    add_action( 'woocommerce_cart_totals_after_shipping','woocommerce_custom_surcharge' );
    function woocommerce_custom_surcharge() {
    global $woocommerce;
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;
    $percentage = 0.01;
    $surcharge = round(( $woocommerce->cart->get_subtotal())* $percentage,2);
    echo "<p class= 'surcharge'>Avec votre commande, vous reversez $surcharge € directement à 1% for the planet </p>";
    }

     

    Si tu peux, penses à mes pièces jointes indésirables. Merci.

    #2451030
    momofr@free.fr
    Modérateur
    Maître WordPress
    5884 contributions

    Salut @Lerman, je les ai supprimé non ?

    #2451036
    ferman
    Participant
    Maître WordPress
    6145 contributions

    Oui, comme je le disais ton code est bon. Et effectivement le mien doit prendre en compte les frais de port mais je ne peux pas le vérifier: les taxes chez moi sont calculées sur le montant du panier hors frais de livraison. Qu’il y ait du transport ou pas, le montant des taxes est le même.

    Merci pour les copies d’écran.

    #2451052
    ferman
    Participant
    Maître WordPress
    6145 contributions

    @momo: Voila, je pense que c’est clair. Pour tester j’ai remis la taxation sur les frais de port. Ton code fait le 1% sur le montant ht y compris frais de port. Le mien fait le 1% sur le montant ht non compris les frais de port. On s’y perd facilement!

    #2451290
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Bonjour à nouveau, malheureusement DIVI ne m’aide pas plus :

    « Hello Charlelie!

    David here ????

    I’m sorry for inconvenience, but such customization is out of scope of support that we can provide as it requires customization of the Woo charging process.

    Such changes would require advanced coding and going over every use case to make sure everything is working correctly

    If you need further help with this we recommend using our vetted partners Codeable or WP Buffs.
    Codeable offers customization services from vetted Divi experts. If you are new to Codeable, you can also get a $50 coupon for your first project. Just be sure to go through our partner link here.
    WP Buffs offers 24/7 WordPress Website Management and If you’re a freelancer or agency, WP Buffs even offers a white-label program.
    Note: Elegant Themes does not receive any referral commissions from Codeable or WP Buffs.

    Unfortunately, we actually do not provide customization or full website services

    Hope this helped! »

    Du coup si je suis pas capable de faire le hook moi-même, même avec votre code je ne peux pas l’afficher sur le site que je développe…

    #2451313
    momofr@free.fr
    Modérateur
    Maître WordPress
    5884 contributions

    Salut, c’est un des soucis avec Divi, il implémente les choses pas toujours dans les règles WordPress (ce qui pose régulièrement des soucis lors de mises à jour avec ce thème Premium).

    Il te faut demander de l’aide sur les forums et page Facebook du thème, c’est juste un problème de crochet (hook) WooCommerce qui est différent avec ce thème.

    #2451316
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Merci, je vais continuer mes recherches…

    #2451328
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Bonjour, à nouveau, ok, j’ai peut-être trouvé une solution, mais j’ai besoin de votre aide, est-ce que vous pourriez modifier ce code pour que ce soit sur la page validation de la commande (paiement) qu’il apparaisse plutôt que sur la page panier ?

    #2451337
    momofr@free.fr
    Modérateur
    Maître WordPress
    5884 contributions

    Salut, les crochets Web pour WooCommerce sont détaillés sur ces pages :

    Selon l’endroit où tu souhaites afficher le message tu modifies la première ligne (add_action( ‘woocommerce_cart_totals_after_shipping’…).

    Le crochet est cette première variable, par exemple pour afficher le message avant le choix de paiement je met ce snippet :

    // AJOUTER UN MESSAGE POUR 1% FOR THE PLANET
    add_action( 'woocommerce_review_order_before_payment','woocommerce_custom_surcharge' );
    function woocommerce_custom_surcharge() {
    global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;

    $percentage = 0.01;
    $surcharge = round(( $woocommerce->cart->subtotal + $woocommerce->cart->shipping_total - $woocommerce->cart->tax_total )* $percentage,2);
    echo "<p class= 'surcharge'>Avec votre commande, vous reversez $surcharge € directement à 1% for the planet </p>";
    }

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2451339
    momofr@free.fr
    Modérateur
    Maître WordPress
    5884 contributions

    Salut, j’ai fini par récupérer un thème Divi (pour test – dernière version officielle) et j’ai effectué des essais :

    • Le code pour injecter au niveau du panier ne marche pas, même avec d’autres crochets.
    • Le code ci-dessus pour afficher au dessus du choix des paiements fonctionne lui (Cf. capture jointe).

    EDIT : en fait il faut apparemment place l’injection après le total du panier pour que ça marche sur la page panier (Cf. capture jointe).

    Le bon code avec Divi :

    add_action( 'woocommerce_proceed_to_checkout','woocommerce_custom_surcharge' );
    function woocommerce_custom_surcharge() {
    global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;

    $percentage = 0.01;
    $surcharge = round(( $woocommerce->cart->subtotal + $woocommerce->cart->shipping_total - $woocommerce->cart->tax_total )* $percentage,2);
    echo "<p class= 'surcharge'>Avec votre commande, vous reversez $surcharge € directement à 1% for the planet </p>";
    }

    • Cette réponse a été modifiée le il y a 2 mois et 1 semaine par momofr@free.fr.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
15 sujets de 16 à 30 (sur un total de 33)
  • Vous devez être connecté pour répondre à ce sujet.