Получить идентификатор подписки из идентификатора заказа

Я пытаюсь получить subscription id от действия крючка woocommerce_order_status_changed.

Это дает мне order id который меняется при каждом переключении клиента.

Например: если subscription id является 10, оригинал order id является 9.

Теперь при каждом переключении, сделанном клиентом, генерируется новый идентификатор заказа, который дает вам указанное выше действие. На данный момент у меня есть $customer_id, $order_id, и оригинал post id который 9,

Как я могу получить subscription id текущего заказа?

Спасибо

2

Решение

Вы можете использовать выделенную функцию wcs_get_subscriptions_for_order() который будет получать идентификаторы $ подписки.

Так что это может быть ваш код:

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 );
// We get the related subscription 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
// ...
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]