WooFrance Dépannage et support WordPress WooCommerce Forums Forum de Support WooCommerce Retirer les addons produits d’une réduction drive

Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #190496
    ezzarani
    Participant
    Points: 13 pts

    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.
    depanagewp
Affichage de 1 message (sur 1 au total)
  • Vous devez être connecté pour répondre à ce sujet.