在Woocommerce中将订单状态自动从处理更改为完成

时间:2019-01-07 09:21:07

标签: wordpress woocommerce

如果“处理中”状态将自动更新为“已完成”,我想更改woocommerce的每个订单。

我尝试在functions.php文件中编写该函数,但未成功。

在收到用户付款后,如何在Woocommerce中将订单状态从“处理中”自动更改为“已完成”?

我使用此代码,但没有效果


    add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
    function custom_woocommerce_auto_complete_order( $order_id ) { 
        if ( ! $order_id ) {
            return;
        }

        $order = wc_get_order( $order_id );
        if( $order->has_status( 'processing' ) ) 
        {
            $order->update_status( 'completed' );
        }
    }

谢谢

1 个答案:

答案 0 :(得分:3)

要自动完成订单,您应该尝试以下操作:

add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
    function custom_woocommerce_auto_complete_order( $order_id ) { 
        if ( ! $order_id ) {
            return;
        }

        $order = wc_get_order( $order_id );

        if( $order->has_status( 'processing' ) ) {
            $order->update_status( 'completed' );
        }
    }

代码进入您的活动子主题(或主题)的function.php文件中。我已经测试了该代码,并且对我而言有效,请检查屏幕快照https://prnt.sc/m3zrwp