切换订阅产品时更改订单状态

时间:2019-12-06 15:28:10

标签: woocommerce woocommerce-subscriptions

我正在使用Woocommerce和订阅。当客户切换其订阅中的项目时,他们将再次执行整个订单过程,并且订单状态设置为“正在处理/已完成”。我想将订单状态更改为 list1=[] count=0 for key, value in dict.items(): if count <10: if value == ps[count]: list1.append(key) count=count+3 。但是我的问题是我不知道我将要用于仅针对切换订阅订单的数据。

list_1 = [k for k, v in dict.items() if v in ps[::3]]

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。这是代码。

add_action( 'woocommerce_thankyou', 'thankyou_change_order_status_to_switch' );

function thankyou_change_order_status_to_switch( $order_id ){
   if( ! $order_id ) return;

   $order = wc_get_order( $order_id );

if( wcs_order_contains_subscription( $order, 'switch' ) && $order->has_status( 'processing' ) ){

    $subscriptions = wcs_get_subscriptions_for_order( $order_id );
    foreach( $subscriptions as $subscription_id => $subscription ){                     
            $order->update_status( 'switch-order' );
    }
}   

}

我认为仍然不需要此行代码。

    $subscriptions = wcs_get_subscriptions_for_order( $order_id );
    foreach( $subscriptions as $subscription_id => $subscription ){}