Php 在Woocommerce中将订单状态从保留自动更改为处理

Php 在Woocommerce中将订单状态从保留自动更改为处理,php,wordpress,woocommerce,status,orders,Php,Wordpress,Woocommerce,Status,Orders,我想用php将每个订单从状态为“保留”的woocommerce更改为“处理” 我已经尝试在functions.php文件中编写函数,但失败了 如何在Woocommerce中将订单状态从保留自动更改为处理 要自动处理订单,应尝试以下操作: add_action( 'woocommerce_thankyou', 'woocommerce_auto_processing_orders'); function woocommerce_auto_processing_orders( $order_id )

我想用php将每个订单从状态为“保留”的woocommerce更改为“处理”

我已经尝试在functions.php文件中编写函数,但失败了


如何在Woocommerce中将订单状态从保留自动更改为处理

要自动处理订单,应尝试以下操作:

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

    $order = wc_get_order( $order_id );

    // If order is "on-hold" update status to "processing"
    if( $order->has_status( 'on-hold' ) ) {
        $order->update_status( 'processing' );
    }
}

代码放在活动子主题或主题的function.php文件中。

请不要只发布代码作为答案,还要解释代码的作用以及如何解决问题。带有解释的答案通常更有帮助,质量更好,更容易吸引选票。
add_action('woocommerce_order_status_changed', 'ts_auto_complete_by_payment_method');

function ts_auto_complete_by_payment_method($order_id)
{

if ( ! $order_id ) {
return;
}

global $product;
$order = wc_get_order( $order_id );

if ($order->data['status'] == 'on-hold') {
$payment_method=$order->get_payment_method();
if ($payment_method!="COD")  // change payment method 
{
$order->update_status( 'processing' );
}}}