取消订阅取消/过期的所有用户订单

时间:2021-07-22 04:41:08

标签: woocommerce hook-woocommerce woocommerce-subscriptions

我想开发一个设置/代码,当他的订阅被取消或过期时,用户下的所有订单都会被取消。我正在使用 Wordpress、Woocommerce 和 Woocommerce 订阅插件。

我正在尝试使用这样的方法:

function my_cancelled_subscription( $user_id, $subscription_key ) {

    //what code should I use here????
}
add_action( 'woocommerce_subscription_status_cancelled', 'my_cancelled_subscription', 10, 2 );

请帮帮我.....

1 个答案:

答案 0 :(得分:0)

我想通了.......

function my_cancelled_subscription( $subscription ) {
    
    $order_id = $subscription->get_parent_id();
    $order = wc_get_order( $order_id );
    $user_id = $order->get_user_id();
    $order->update_status( 'cancelled' );
    
    $args = array(
        'customer_id' => $user_id,
        'status' => 'wc-completed',
    );
    $arrorders = wc_get_orders( $args );
    
    foreach ($arrorders as $ord) {
        $ord->update_status( 'cancelled' );
    }
}
add_action( 'woocommerce_subscription_status_cancelled', 'my_cancelled_subscription' );