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

Dim*_*rah 2 wordpress woocommerce

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

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

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

我使用这段代码,但没有效果

    add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
    函数 custom_woocommerce_auto_complete_order( $order_id ) {
        如果(!$order_id){
            返回;
        }

        $order = wc_get_order( $order_id );
        if( $order->has_status( '正在处理' ) )
        {
            $order->update_status( '已完成' );
        }
    }

谢谢

dev*_*rme 5

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

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' );
        }
    }
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或主题)的 function.php 文件中。我已经测试了该代码及其对我有用,请检查屏幕截图https://prnt.sc/m3zrwp