- WordPress :6.1
- Statut : résolu
- Ce sujet contient 32 réponses, 3 participants et a été mis à jour pour la dernière fois par
communicationmrlaurent@gmail.com, le il y a 2 mois.
-
AuteurMessages
-
1 avril 2023 à 12 h 23 min #2450982
@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.
1 avril 2023 à 12 h 32 min #2450985Il 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.
1 avril 2023 à 12 h 37 min #2450988Je vais voir avec eux alors, merci en tout cas pour votre aide à tous les deux 🙂
1 avril 2023 à 12 h 49 min #2450990@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.
1 avril 2023 à 14 h 16 min #2451002Salut, 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.1 avril 2023 à 15 h 14 min #2451007@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.
1 avril 2023 à 17 h 46 min #2451030Salut @Lerman, je les ai supprimé non ?
1 avril 2023 à 18 h 34 min #2451036Oui, 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.
1 avril 2023 à 23 h 07 min #2451052@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!
4 avril 2023 à 12 h 13 min #2451290Bonjour à 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…
-
Cette réponse a été modifiée le il y a 2 mois et 1 semaine par
communicationmrlaurent@gmail.com.
-
Cette réponse a été modifiée le il y a 2 mois et 1 semaine par
communicationmrlaurent@gmail.com.
4 avril 2023 à 16 h 23 min #2451313Salut, 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.
4 avril 2023 à 16 h 31 min #2451316Merci, je vais continuer mes recherches…
4 avril 2023 à 18 h 37 min #2451328Bonjour, à 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 ?
4 avril 2023 à 19 h 28 min #2451337Salut, les crochets Web pour WooCommerce sont détaillés sur ces pages :
- Cartographie des crochets web de la page panier
- Cartographie des crochets web de la page commande
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.4 avril 2023 à 19 h 43 min #2451339Salut, 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. -
Cette réponse a été modifiée le il y a 2 mois et 1 semaine par
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.