2017-03-31 113 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