2017-06-19 7 views
0

Ich baue ein Plugin "Buy for xxx und bekomme ein kostenloses Geschenk".WooCommerce - Preis des Artikels im Warenkorb ändern

Alles funktioniert gut, aber wenn ich das Geschenk zum Warenkorb hinzufügen, ist der Preis 0, aber in der Zwischensumme sehe ich noch den Preis mit "free product" Preis enthalten.

Ie., Ich habe Artikel im Wert von $ 200 und ich bin berechtigt, ein kostenloses Geschenk zu erhalten. Ich wähle es und das Geschenk wird in den Warenkorb gelegt. Der Preis ist 0. Aber in der Zwischensumme sehe ich immer noch den Preis der Artikel + kostenloses Geschenk.

habe ich den Preis in before_calculate_totals Haken wie folgt aus:

foreach ($cart as $key => $item) { 
     if (isset($item['_wfg_gift']) && $item['_wfg_gift'] == 1) { 
      $item['data']->set_price(0); 
     } 
    } 

Ich habe auch versucht die calculate_totals Haken ohne Glück. Ich kann den Filter get_price nicht verwenden, da der Benutzer das gleiche Produkt kaufen möchte, das als kostenloses Geschenk angeboten wird.

Wie ist der Warenkorb Artikelpreis einzustellen, so funktioniert es im Warenkorb, Zwischensumme und insgesamt?

Antwort

0

Sie sind auf dem richtigen Weg.

"woocommerce_before_calculate_totals" Diese Aktion wird verwendet, um den Artikelpreis des Einkaufswagens zu aktualisieren.

Bitte überprüfen Sie Ihre Bedingung in Code, indem Sie es debuggen.

Möchten Sie "0" nur für "Free Item" oder "0" für den gesamten Warenkorb setzen?

+0

Ich setze den Preis richtig afaik, im Warenkorb gibt es 0, aber in der Zwischensumme wird der Preis gezählt ... Keine Ahnung, was hier vorgeht .. – user1049961

Verwandte Themen