get_posts bekommt nur das neueste Produkt

Ich hatte für mich eine Website auf Woocommerce, aber keinen Zugriff mehr auf den Entwickler. Ich bin kein Programmierer, also gibt es nichts, was über CSS Änderungen hinausgeht. Es gibt ein Stück Code, der gut funktionierte, aber ich habe der Site ein zusätzliches Element hinzugefügt und jetzt wird nur das zuletzt hinzugefügte Element abgerufen. Ich glaube, das Problem ist, dass get_posts nur das neueste Produkt sammelt und ich brauche es, um alle zu sammeln. Ziemlich sicher, ich habe es auf diese zwei Zeilen eingegrenzt:

$products = get_posts(array('post_type' => 'product'));

$product = wc_get_product($products[0]->ID);

Braucht das eine Schleife? Entschuldigung, ich bin wirklich nicht dafür ausgerüstet und es ist wirklich schwer jemanden zu finden, der mir mit einer einzelnen Frage helfen kann.

Solutions Collecting From Web of "get_posts bekommt nur das neueste Produkt"

Um alle Produkte zu erhalten, müssen Sie die Option post_per_page angeben und -1 post_per_page . Sie benötigen auch eine Schleife, wenn Sie alle Produktdaten abrufen möchten.

Sie können diesen Code ausprobieren:

 $products = new WP_Query(array('post_type' => 'product', 'posts_per_page' => -1)); while ($products->have_posts()) : $products->the_post(); $id = get_the_ID(); $product = new WC_Product($id); //your remaining code to get all product info endwhile; 

Ich habe meine Frage wahrscheinlich schlecht gestellt, aber ich habe die Antwort mit Hilfe eines Freundes herausgefunden. Ich musste eine Schleife erstellen. Das Problem war, dass ich alle post_type Produkte anrief, aber dann fragte ich nach dem letzten. Einfach genug, um eine Schleifenanweisung hinzuzufügen und gut zu gehen.

 $products = get_posts(array('post_type' => 'product')); foreach($products as $product) { $product = wc_get_product($product->ID);