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 10
das 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_id
und das Original post id
welches ist 9
,
Wie bekomme ich die subscription id
der aktuellen Bestellung?
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
// ...
}