5

我正在尝试subscription id从 action hook中获取woocommerce_order_status_changed

它为我提供order id了客户所做的每次切换都会改变的内容。

例如:如果subscription id10,则原件order id9

现在,客户所做的每一次切换都会生成一个新的订单 ID,上面的操作会为您提供。在这一点上,我有$customer_id,$order_id和原来post id9,

我怎样才能得到subscription id当前订单的?

谢谢

4

1 回答 1

11

wcs_get_subscriptions_for_order()您可以使用将检索 $subscription IDs 的专用函数。

所以这可能是你的代码:

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 
    // ...
}
于 2017-04-02T04:38:57.850 回答