2017-10-28 2 views
0

In WooCommerce, habe ich einen Miniwagen erstellt und ich möchte die Artikelmenge im aktuellen Warenkorb erhalten. Holen Sie sich die Warenkorb Artikelmenge nach Artikel-ID in Woocommerce

Wie ich dies versucht:

$items = $woocommerce->cart->get_cart(); 

     foreach($items as $item => $values) { 
      $product_id = $values['product_id']; 
      if ($product_id == $id){ 
      $product_qnty = $values['quantity']; 
      } 
      break; 
     } 

Gibt es eine einzelne Funktion den Wagen Artikelmenge von Wagen Artikel zu bekommen?

+0

Ich habe gerade ein Update erstellt, das sich nun auch um variable Produkte (Produktvariationen) kümmern wird (nach einigen weiteren Tests) ... Auch wenn Sie möchten/mögen, können Sie diese Antwort natürlich auch verbessern. Vielen Dank. – LoicTheAztec

Antwort

0

Vielleicht sollten Sie zuerst in der woocommerce template code cart/mini-cart.php suchen, wo Sie den offiziellen zugehörigen Code finden.

Hinweis: Die "Artikel-ID" ist nur in der WC_Orders-Artikelschleife verfügbar, nicht jedoch in WC_Cart, bei der es sich um einen "Einkaufswagenartikelschlüssel" handelt. Sie sprechen also sicher von der Produkt-ID. Aber wenn Sie an den Code der offiziellen Vorlage Wagen aussehen/mini_cart werden Sie das WC_Product Objekt anstelle des $product_id verwenden müssen ...

So können Sie immer eine benutzerdefinierte Funktion wie bauen (mit einem $product Argument, die WC_Product Objekt), die Sie im entsprechenden Template-Code oder in Ihrem eigenen Code verwenden können:

function get_item_qty($product){ 
    foreach(WC()->cart->get_cart() as $cart_item) 
     // for variable products (product varations) 
     $product_id = $product->get_parent_id(); 
     if($product_id == 0 || empty($product_id)) 
      $product_id = $product->get_id(); 

     if ($product_id == $cart_item['product_id']){ 
      return $cart_item['quantity']; 
      break; 
     } 
    return; 
} 

-Code geht in function.php Datei Ihrer aktiven Kind Thema (oder Thema) oder auch in jedem Plugin-Datei.


USAGE(Beispiel): Hier werden wir geben die Menge des $product(WC_Product Objekt):

// Output the quantity based on the $product object 
echo __('Quantity'). ': ' . get_item_qty($product); 

Offizielle Dokumentation: Template Structure + Overriding Templates via a Theme

Verwandte Themen