从订单 ID 获取订阅 ID
Get the Subscription id from the Order ID
我正在尝试从操作挂钩 woocommerce_order_status_changed
.[=22 获取 subscription id
=]
它给了我 order id
,客户每次切换都会更改。
例如:如果subscription id
为10
,则原order id
是 9
.
现在,客户进行的每次切换都会生成一个新的订单 ID,上面的操作会为您提供该 ID。此时我有$customer_id
、$order_id
和原来的post id
即 9
,
如何获取当前订单的subscription id
?
谢谢
您可以使用专用函数 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
// ...
}
我正在尝试从操作挂钩 woocommerce_order_status_changed
.[=22 获取 subscription id
=]
它给了我 order id
,客户每次切换都会更改。
例如:如果subscription id
为10
,则原order id
是 9
.
现在,客户进行的每次切换都会生成一个新的订单 ID,上面的操作会为您提供该 ID。此时我有$customer_id
、$order_id
和原来的post id
即 9
,
如何获取当前订单的subscription id
?
谢谢
您可以使用专用函数 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
// ...
}