2014-02-17 7 views
7

Ich versuche eine einfache Aufzählungsliste von Artikeln zu erstellen, die bereits zum Warenkorb hinzugefügt wurden und die später durch ein Gravity-Formularfeld geleitet werden. Hier ist, was ich mit so weit gekommen sind:WooCommerce - listet die Namen von Warenkorbartikeln außerhalb der Produktseite auf

<?php global $woocommerce; 

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

     foreach($items as $item => $product_id) { ?> 

      <li><?php echo $item; ?></li> 

     <?php } ?> 

Ich habe 2 Artikel in den Warenkorb gelegt, und eine Folge von:

  • 747579165776fe1ba349237464ae0eed
  • f06a642b52d91adfa0168b737bd60db9

Ich versuche jedoch, den Titel der Produkte und nicht den Schlüssel zu finden.

Antwort

18

Sie benötigen diese Art und Weise zu tun:

<?php global $woocommerce; 

    $items = $woocommerce->cart->get_cart(); 
    foreach($items as $item => $values) { ?> 
     <? // print_r($item); ?> 
     <? $_product = $values['data']->post; ?> 
     <? echo $_product->post_title; ?> 
    <?php } ?> 

Anschließend können Sie den Zugriff auf jedem Postwert, POST_TITLE, post_date, ID usw. Kommentar- der // print_r ($ item); und sehen, was ich meine. Sie können auch mit anderen Daten spielen, indem Sie den Teil etwas ändern: $ _product = $ values ​​['data'] -> post;

$_product = $values['data']; 
echo $_product->ID; 

Print $ _product den Rest der Werte zur Verfügung, um zu sehen: Zum Beispiel des Produkt-ID für den Zugriff auf nicht die ID-Post, die innerhalb der foreach-Funktion dies ändern.

In der Tat, immer eine print_r, um zu sehen, was in einem Array ist.

Das ist es.

+1

Wenn ich "$ _product-> ID" hake, zeigt es alle Produkte IDs, wie kann ich die letzten von ihnen erhalten, zum Beispiel hier sind zurückgegebene Werte '1297,1694,1297,3911,4999,' wie nur zu bekommen 4999? – aidadev

Verwandte Themen