WooFrance Dépannage et support WordPress WooCommerce › Forums › Forum de Support WooCommerce › Retirer les addons produits d’une réduction drive
Étiqueté : product add-ons plugin, woocommerce
- Ce sujet contient 0 réponse, 1 participant et a été mis à jour pour la dernière fois par ezzarani, le il y a 4 années et 4 mois.
Affichage de 1 message (sur 1 au total)
-
AuteurMessages
-
22 juillet 2020 à 13 h 43 min #190496
Bonjour,
Pour un système d’épicerie en vrac, j’utilise le plugin product add-ons (https://woocommerce.com/products/product-add-ons/) pour générer une case à cocher si l’utilisateur veut une consigne (bocal en verre à 0.6€) ou non.
Couplé à cela, j’applique une réduction de 7% si l’utilisateur choisit le drive.
Or, je ne veux pas appliquer ces 7% sur mon addon de consigne car je dois ensuite le rembourser au client.
Voici le code utilisé pour générer le réduction sur le drive :
<span style= »color: #6a9955; »>// Add discount for local pickup</span><span style= »color: #dcdcaa; »>add_action</span><span style= »color: #d4d4d4; »>( </span><span style= »color: #ce9178; »>’woocommerce_cart_calculate_fees'</span><span style= »color: #d4d4d4; »>, </span><span style= »color: #ce9178; »>’custom_discount_for_pickup_shipping_method'</span><span style= »color: #d4d4d4; »>, </span><span style= »color: #b5cea8; »>10</span><span style= »color: #d4d4d4; »>, </span><span style= »color: #b5cea8; »>1</span><span style= »color: #d4d4d4; »> );</span><span style= »color: #6a9955; »>// Add discount for local pickup</span><span style= »color: #569cd6; »>function</span><span style= »color: #dcdcaa; »>custom_discount_for_pickup_shipping_method</span><span style= »color: #d4d4d4; »>(</span><span style= »color: #9cdcfe; »> $cart</span><span style= »color: #d4d4d4; »> ) {</span><span style= »color: #c586c0; »>if</span><span style= »color: #d4d4d4; »> ( </span><span style= »color: #dcdcaa; »>is_admin</span><span style= »color: #d4d4d4; »>() && ! </span><span style= »color: #dcdcaa; »>defined</span><span style= »color: #d4d4d4; »>( </span><span style= »color: #ce9178; »>’DOING_AJAX'</span><span style= »color: #d4d4d4; »> ) )</span><span style= »color: #c586c0; »>return</span><span style= »color: #d4d4d4; »>;</span><span style= »color: #9cdcfe; »>$percentage</span><span style= »color: #d4d4d4; »> = </span><span style= »color: #b5cea8; »>7</span><span style= »color: #d4d4d4; »>; </span><span style= »color: #6a9955; »>// <=== Discount percentage</span><span style= »color: #9cdcfe; »>$chosen_shipping_method_id</span><span style= »color: #d4d4d4; »> = </span><span style= »color: #dcdcaa; »>WC</span><span style= »color: #d4d4d4; »>()-></span><span style= »color: #9cdcfe; »>session</span><span style= »color: #d4d4d4; »>-></span><span style= »color: #dcdcaa; »>get</span><span style= »color: #d4d4d4; »>( </span><span style= »color: #ce9178; »>’chosen_shipping_methods'</span><span style= »color: #d4d4d4; »> )[</span><span style= »color: #b5cea8; »>0</span><span style= »color: #d4d4d4; »>];</span><span style= »color: #9cdcfe; »>$chosen_shipping_method</span><span style= »color: #d4d4d4; »> = </span><span style= »color: #dcdcaa; »>explode</span><span style= »color: #d4d4d4; »>(</span><span style= »color: #ce9178; »>’:'</span><span style= »color: #d4d4d4; »>, </span><span style= »color: #9cdcfe; »>$chosen_shipping_method_id</span><span style= »color: #d4d4d4; »>)[</span><span style= »color: #b5cea8; »>0</span><span style= »color: #d4d4d4; »>];</span><span style= »color: #6a9955; »>// Only for Local pickup chosen shipping method</span><span style= »color: #c586c0; »>if</span><span style= »color: #d4d4d4; »> ( </span><span style= »color: #dcdcaa; »>strpos</span><span style= »color: #d4d4d4; »>( </span><span style= »color: #9cdcfe; »>$chosen_shipping_method_id</span><span style= »color: #d4d4d4; »>, </span><span style= »color: #ce9178; »>’local_pickup'</span><span style= »color: #d4d4d4; »> ) !== </span><span style= »color: #569cd6; »>false</span><span style= »color: #d4d4d4; »> ) {</span><span style= »color: #6a9955; »>// Calculate the discount</span><span style= »color: #9cdcfe; »>$discount</span><span style= »color: #d4d4d4; »> = </span><span style= »color: #9cdcfe; »>$cart</span><span style= »color: #d4d4d4; »>-></span><span style= »color: #dcdcaa; »>get_subtotal</span><span style= »color: #d4d4d4; »>() * </span><span style= »color: #9cdcfe; »>$percentage</span><span style= »color: #d4d4d4; »> / </span><span style= »color: #b5cea8; »>100</span><span style= »color: #d4d4d4; »>;</span><span style= »color: #6a9955; »>// Add the discount</span><span style= »color: #9cdcfe; »>$cart</span><span style= »color: #d4d4d4; »>-></span><span style= »color: #dcdcaa; »>add_fee</span><span style= »color: #d4d4d4; »>( </span><span style= »color: #dcdcaa; »>__</span><span style= »color: #d4d4d4; »>(</span><span style= »color: #ce9178; »>’Offre Drive'</span><span style= »color: #d4d4d4; »>) </span><span style= »color: #d4d4d4; »>.</span><span style= »color: #ce9178; »>’ (-‘</span><span style= »color: #d4d4d4; »>.</span><span style= »color: #9cdcfe; »>$percentage</span><span style= »color: #d4d4d4; »>.</span><span style= »color: #ce9178; »>’%)'</span><span style= »color: #d4d4d4; »>, -</span><span style= »color: #9cdcfe; »>$discount</span><span style= »color: #d4d4d4; »> );</span><span style= »color: #d4d4d4; »> }</span><span style= »color: #d4d4d4; »>}</span>Comment exclure l’add-on de cette réduction ?Merci d’avance pour votre aide. -
AuteurMessages
Affichage de 1 message (sur 1 au total)
- Vous devez être connecté pour répondre à ce sujet.