WooCommerce - 从订单 ID 获取订阅 ID



我正在尝试从动作钩woocommerce_order_status_changed获取subscription id

它为我提供了order id,随着客户的每次切换而改变。

例如:如果subscription id 10,则原始order id 9

现在,客户进行的每次切换都会生成一个新的订单 ID,上述操作将为您提供该 ID。在这一点上,我有$customer_id$order_id,以及9的原始post id

如何获取当前订单的subscription id

您可以使用

专用函数wcs_get_subscriptions_for_order()来检索$subscription 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, 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 
    // ...
}

相关内容

  • 没有找到相关文章

最新更新