设置WooCommerce订单状态,当从处理创建订单到待处理

问题描述:

创建woocommerce订单时,订单的状态为“处理”。我需要将默认订单状态更改为“挂起”。设置WooCommerce订单状态,当从处理创建订单到待处理

我该如何做到这一点?

默认订单状态由付款方式或支付网关设置。

您可以尝试使用此自定义挂钩函数,但它不会工作(因为这挂钩之前的支付方式和支付网关解雇)

add_action('woocommerce_checkout_order_processed', 'changing_order_status_before_payment', 10, 3); 
function changing_order_status_before_payment($order_id, $posted_data, $order){ 
    $order->update_status('pending'); 
} 

显然,每种付款方式(和支付网关)的设置订单状态(根据支付网关)事务响应...

现在相反,您可以更新使用woocommerce_thankyou钩订单状态

add_action('woocommerce_thankyou', 'woocommerce_thankyou_change_order_status', 10, 1); 
function woocommerce_thankyou_change_order_status($order_id){ 
    if(! $order_id) return; 

    $order = wc_get_order($order_id); 

    if($order->get_status() == 'processing') 
     $order->update_status('pending'); 
} 

代码放在您的活动子主题(或主题)的function.php文件或也以任何插件文件。

测试和工程


相关主题:WooCommerce: Auto complete paid Orders (depending on Payment methods)