Admin Dashboard

WooCommerce Automatically Set On-Hold Order Status To Processing

WooCommerce make the order status processing instead of on-hold by default

Pre-Requisites

There are no pre-requisites in order for you to be able to implement this solution.

How To Implement This Solution?

Simply copy the pre-coded solution to your active theme’s functions.php or preferably the Code Snippets Plugin.

About This Solution

If you’d like to bypass the on-hold order status which either WooCommerce or the payment gateway the customer uses automatically sets on orders, and make it the Processing order status instead, then this guide is for you. Typically, store owners wont have the Order on-hold email active. Instead, they will have the Processing order or Completed order. It’s not usual that customers receive an email to tell them their order is on hold, so this solution resolves that.

Code Solution

/**
* Snippet Name:     Automatically update the On-hold order status to show Processing instead..
* Snippet Author:   ecommercehints.com
*/

function custom_woocommerce_auto_complete_order( $order_id ) {
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    if( 'on-hold'== $order->get_status() ) {
        $order->update_status( 'processing' );
    }
}
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );

Snippet Benefits

  • Trigger the Order Processing email in WooCommerce by automatically updating the Order Status from On-hold to Processing when an order is created by the customer.

100 WooCommerce Conversion Rate Optimisation Tips

This field is for validation purposes and should be left unchanged.

Let’s collaborate!

Need to outsource WordPress development?

Join forces with UnlimitedWP for an outsourced white label web development service you can truly rely on.

First Timer Here?

Sign up to receive 20% off on your first month with us.

26027
WELCOME OFFER