Я пытаюсь получить subscription id
от действия крючка woocommerce_order_status_changed
.
Это дает мне order id
который меняется при каждом переключении клиента.
Например: если subscription id
является 10
, оригинал order id
является 9
.
Теперь при каждом переключении, сделанном клиентом, генерируется новый идентификатор заказа, который дает вам указанное выше действие. На данный момент у меня есть $customer_id
, $order_id
, и оригинал post id
который 9
,
Как я могу получить subscription id
текущего заказа?
Спасибо
Вы можете использовать выделенную функцию 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
// ...
}
Других решений пока нет …