Antwort

0

Ja, wenn Sie ein "Abonnement-ID" haben, können Sie ein Objekt wie diese:

$subscription = new WC_Subscription($the_id); 

Wenn Sie bereits $ Abonnement bezwecken:

$related_orders_ids_array = $subscription->get_related_orders(); 

Dann durchlaufen durch Array verwandter Bestellungen.

foreach ($related_orders_ids_array as $order_id) { 

    $order = new WC_Order($order_id); 
    $items = $order->get_items(); 

dann, wenn Sie eine Schleife durch Auftragspositionen können Sie die Produktinformationen zugreifen:

foreach ($items as $product) { 

     var_dump($product); 

    } 

} 
1

Es ist möglich, die Produkte entweder aus dem Abonnement oder dem entsprechenden Auftrag zu erhalten, wie ein Abonnement Objekt ein ist Erweiterung der WC_Order Klasse.

$subscription_products = $subscription->get_items(); 
$order_products = $subscription->order->get_items(); 

In den meisten Situationen, in denen Sie Abo-Dienste zur Verfügung stellen, werden diese beiden gleichwertig sein oder $order_products mindestens enthalten sollten alle innerhalb $subscription_products Produkte gefunden.

Eine bemerkenswerte Ausnahme ist, wenn Sie ein Abonnement manuell erstellen; Dem Abonnement wird keine Bestellung beigefügt, daher ist $subscription->order möglicherweise kein gültiges Objekt WC_Order.

Verwandte Themen