WooCommerce – Holen Sie sich die Abonnement-ID aus der Bestell-ID

Lesezeit: 1 Minute

Shlomis Benutzeravatar
Schlomi

Ich versuche die zu bekommen subscription id vom Aktionshaken woocommerce_order_status_changed.

Es gibt mir die order id die sich bei jedem Schalter, den der Kunde vornimmt, ändert.

Zum Beispiel: Wenn die subscription id Ist 10das Original order id Ist 9.

Jetzt generiert jeder Wechsel, den der Kunde vorgenommen hat, eine neue Bestell-ID, die Ihnen die obige Aktion gibt. An dieser Stelle habe ich die $customer_id, $order_idund das Original post id welches ist 9,

Wie bekomme ich die subscription id der aktuellen Bestellung?

Benutzeravatar von LoicTheAztec
LoicTheAztec

Sie können die dedizierte Funktion verwenden wcs_get_subscriptions_for_order() wodurch $subscription-IDs abgerufen werden.

Das könnte also dein Code sein:

add_action('woocommerce_order_status_changed', 'action_order_status_changed');
function action_order_status_changed( $order_id ){
    $subscriptions_ids = wcs_get_subscriptions_for_order( $order_id, array( 'order_type' => 'any' ) );
    // We get all related subscriptions for this order
    foreach( $subscriptions_ids as $subscription_id => $subscription_obj )
        if($subscription_obj->order->id == $order_id) break; // Stop the loop

    // The subscription ID: $subscription_id 
    // The An instance of the Subscription object: $subscription_obj 
    // ...
}

  • Ein Hinweis für alle, die dies lesen: Ich musste die Parameter für die Funktion als festlegen wcs_get_subscriptions_for_order( $order_id, array( 'order_type' => 'any' ) ) um dies zum Laufen zu bringen. Ohne den zweiten Parameter hat es bei mir nicht funktioniert ( siehe function add_subscriptions_to_view_order_templates() in der Datei class-wc-subscriptions-order.php im woocommerce-subscriptions-Plugin, das dasselbe tut). Ich verwende WC 3.3.5 und WordPress 4.9.4

    – Sarah

    3. Mai 2018 um 9:59 Uhr


  • @Sarah Danke für deinen Hinweis…

    – LoicTheAztec

    3. Mai 2018 um 11:03 Uhr

  • @Sarah danke für deinen Hinweis, es hilft wirklich voll. vielen Dank 🙂

    – dev_ramiz_1707

    4. März 2021 um 15:12 Uhr

1442680cookie-checkWooCommerce – Holen Sie sich die Abonnement-ID aus der Bestell-ID

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy