2017-09-21 6 views
0

Salut je cherche l'action qui a déclenché avant le calcul des frais d'expédition.Woocommerce calculer les frais d'expédition après des réductions supplémentaires

J'ai la fonction suivante, mais celle-ci fonctionne après le calcul des frais d'expédition. Le problème est que dans ce site, vous obtenez des réductions si vous achetez plus de 3, 5 ou 10 articles, et l'expédition est basée sur le prix de votre panier total. Mais si je choisis 3 articles (de sorte qu'il obtient un rabais) et à cause de ce prix sera inférieur au prix minimum pour la méthode d'expédition, mais la méthode d'expédition ne changera pas.

add_action('woocommerce_cart_calculate_fees' , 'add_custom_fees'); 
    function add_custom_fees(WC_Cart $cart){ 
     if($cart->cart_contents_count >= 3 && $cart->cart_contents_count <= 4){ 
      // Calculate the amount to reduce 
      $discount = $cart->subtotal * 0.1; 
      $cart->add_fee('Text', -$discount); 
      return; 
     } 

     if($cart->cart_contents_count >= 5 && $cart->cart_contents_count < 10){ 
      // Calculate the amount to reduce 
      $discount = $cart->subtotal * 0.15; 
      $cart->add_fee('Text', -$discount); 
      return; 
     } 

     if($cart->cart_contents_count >= 10){ 
      // Calculate the amount to reduce 
      $discount = $cart->subtotal * 0.2; 
      $cart->add_fee('Text', -$discount); 
      return; 
     } 
    } 

Comme vous pouvez le voir l'action en cours J'utilise est celui-ci: woocommerce_cart_calculate_fees

grâce

Répondre

0


Vous pouvez utiliser ce crochet "woocommerce_calculate_totals", car il déclenche avant calcul afin que vous puissiez faire votre propre calcul et pouvez ajouter vos frais en conséquence.