2017-03-31 106 views
2

获取订阅ID,我试图从行动钩woocommerce_order_status_changed得到subscription id从订单ID

它给我order id这是改变每个交换机的客户。

例如:如果subscription id10,原order id9

现在客户所做的每个开关都会生成一个新的订单ID,上面的操作可以为您提供。在这一点上我有$customer_id$order_id,和原来的post id这是9

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

感谢

回答

2

您可以使用专用的功能wcs_get_subscriptions_for_order()将取回$订阅ID。

所以这可能是你的代码:

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 
    // ... 
} 
+0

它的工作,谢谢! – Yossi