php WooCommerce -从订单ID获取订阅ID

wydwbb8l  于 2023-01-12  发布在  PHP
关注(0)|答案(1)|浏览(121)

我正在尝试从操作挂接**woocommerce_order_status_changed中获取subscription id
它为我提供了
order id,该值随客户进行的每一次切换而改变。
例如:如果
subscription id10,则原始order id9
现在,客户所做的每一次切换都会生成一个新的订单ID,这是上面的操作为您提供的ID。此时,我有了
$customer_id$order_id和原始的post id,即9
如何获得当前订单的
subscription id**?

xqk2d5yq

xqk2d5yq1#

您可以使用专用函数**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, 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 
    // ...
}

相关问题