How To Create WooCommerce Custom Order Status With And Without Plugins

As we all know that – WooCommerce is one of the best e-commerce plugins with additional features that is available as extensions. Further, WooCommerce lets you sell services & products from your WordPress site.

In fact, it is entirely manufactured by Automattic, the corporate WordPress’s arm. Hence, if you are using it, then you are doing a great job.

Bending towards the point! If you are managing a WooCommerce store, then you are probably familiar with the various limitations of this platform. However, there is one of the biggest WooCommerce limitations is – the small number of order status.

If you wish to add multiple custom order status, then you need to use a third-party plugin. Fortunately, there are many plugins that can help you for the same purpose.

Hence, keep reading this guide and go through the table of content as we will illustrate you the best WooCommerce custom order status for gateway plugins.

Why Do We Need Custom Order Statuses?

WooCommerce lets you have different product types that are simple, downloadable, variable, etc. If you think beyond this for any other framework, you can even use eCommerce. eCommerce provides various types of products depending upon the user’s need. WooCommerce provides us the used ones where different product type can have different features and depending on that products can have different order status as well.

There are some pre-defined order situations in WooCommerce that help us move the order from one phase to the processing cycle. Let’s have a look at them.

Pending Payment: This situation usually occurs during ‘Cash on delivery’ mode, where an order is placed but the payment is not made.

Processing: When the order is placed and payment has also been made as well as the is also reduced. Then the order goes to the status of processing.

Completed: Once the order is placed, payment has been made and order is delivered to the customer, the order is marked as completed.

On-Hold: When the order has been placed as well as the stock gets reduced but the payment is awaited, it is set as on-hold. This usually occurs in online payment gateways methods.

Canceled: If the customer or administration cancels the order, then the order status is set to cancel. The stock is not reduced here.

Refunded: If the order is canceled, the payment has been paid by the admin to the customer.

Failed: If the checkout or payment was declined, the order status fails if the payment process fails.

All this gives a clear idea that why custom order status WooCommerce is a requirement and that’s the reason a good eCommerce framework never ever restrict to create custom order statuses.

How To Create WooCommerce Custom Order Status

There are few shops that customized order statuses like as Awaiting shipment, Building. However, these statuses are necessary for their successful business requirements.

Luckily, to add these statuses is simple and need a little bit of custom code for Woocommerce product sorting.

function register_shipment_arrival_order_status() {


register_post_status( ‘wc-arrival-shipment’, array(

‘label’ => ‘Shipment Arrival’,

‘public’ => true,

‘show_in_admin_status_list’ => true,

‘show_in_admin_all_list’ => true,

‘exclude_from_search’ => false,

‘label_count’ => _n_noop( ‘Shipment Arrival <span class=”count”>(%s)</span>’, ‘Shipment Arrival <span

class=”count”>(%s)</span>’ )

) );


add_action( ‘init’, ‘register_shipment_arrival_order_status’ );function

add_awaiting_shipment_to_order_statuses( $order_statuses ) {$new_order_statuses = array();foreach (

$order_statuses as $key => $status ) {$new_order_statuses[ $key ] = $status;if ( ‘wc-processing’ === $key ) {

$new_order_statuses[‘wc-arrival-shipment’] = ‘Shipment Arrival’;


}return $new_order_statuses;


add_filter( ‘wc_order_statuses’, ‘add_awaiting_shipment_to_order_statuses’ );

By using the WordPress register_post_status() function we have added the post status. Note that here an important thing in this function is – the slug for the order status, prefixed by “wc-” for WooCommerce.Custom order status

Thereafter, created an array, that includes the data and defines the custom post status. However, the label is what will be shown, therefore we can change it to the exact order status name.

$new_order_statuses = array();


foreach ( $order_statuses as $key => $status ) {

$new_order_statuses[ $key ] = $status;

if ( ‘wc-processing’ === $key ) {
$new_order_statuses[‘wc-arrival-shipment’] = ‘Shipment Arrival’;

return $new_order_statuses;

Here, a function such as add_awaiting_shipment_to_order_statuses() is going to add this new post status into available order statuses list inside the WooCommerce orders and Edit orders pages. Thereafter, these statuses are available for using these pages.

However, now the for each loop goes via custom order statuses list until it searches the one that we want. In this type of case, insert the Shipping status after processing order status. This is the reason, the if() part is doing here – “In case the order status is ‘processing’, add in ‘Shipment Arrival’ here, then continue going through order statuses”.

Custom order status

Steps to remove a Shipped order status in wooCommerce

  • To remove the custom order status, you only have to remove this code from your site. In case you’ew using the Code Snippets plugin, just simply deactivate the snippet. By doing this, the status of your order will by default change to “Pending Payment”.
  • Though the orders which will be using your new status may not appear in your orders list, once the code is removed since they will come under an unrecognized post status then. For that, you change the order status to a core status before you deactivate or remove this snippet.
  • Regardless of all this, the order will still be existing and you will be able to navigate to them directly using the post id as well, but the only difference will be that they won’t be recognized in the orders list without this code.

Top WooCommerce Custom Order Status Plugins

  1. WooCommerce Order Status Manager
  2. WooCommerce Order Status & Actions Manager
  3. YITH WooCommerce Custom Order Status
  4. WooCommerce Advanced Order Status & Action Manager
  5. WooCommerce Advance Order Status

1. WooCommerce Order Status Manager

WooCommerce Order Status Manager, WooCommerce Custom Order status plugins

WooCommerce Order Status Manager allows the users to create, edit, and delete custom order statuses. And assimilate them smoothly into your WooCommerce order management arrangement flow. With the help of this plugin, you can also edit the core statutes and produce the new order status changes based emails.

However, this plugin offers the fully featured solution for adding custom order statuses and edit or delete them as per requirements. Additionally, it also permits you to edit the original order statuses. Means to say, you can have full control over all the order statuses on your WooCommerce site.

Continuously, it is easy to use plugin allows the automatic notification emails while the order situation changed. Using this, the user can edit the name, type, description, and criteria for notification emails. Means, it will be very useful for customers and admin who remain updated about changes in the current order.

Also, you can re-order the default sorting of statuses. Fortunately, there are some smart order statuses that will offer the relevant options. For example, the ‘Paid’ status will show the download link, confirmation note, or other information. The ‘Pay’ and ‘Cancel’ link will appear in the ‘Requires Payment’ status.

The plugin’s single site license is worth $49.


  • Edit new email content via new templates.
  • In the order list, add the bulk actions for new statuses.
  • Instead of text badges in the “Orders” list, use status icons.
  • Without losing the orders it securely deletes custom statuses.
  • Add the icons or action buttons and create the new order statuses.
  • For new action buttons, edit the WooCommerce core statuses to set a “next status”.
  • To create a smooth fulfillment workflow & to add order action buttons, use the “Next Statuses”.
  • It shows the status description to customers on the “View Order” page to illustrate the order status.

2. WooCommerce Order Status & Actions Manager

WooCommerce Order Status & Actions Manager

WooCommerce Order Status & Actions Manager is one of the most popular solutions to manage your WooCommerce store’s order statuses. Further, this plugin allows you to add custom statuses and use the different customization options for these statuses.

However, it supports various icons such as Dashicons, IcoMoon icons, and FontAwesome. Also, you can use any of these icons for your custom order status. Selecting the style of these statuses is possible. Further, this solution also has a unique feature i.e. Intelligent Action Button. You can use this feature to bundle specific action buttons with the order statuses.

In addition, using this plugin, you can also edit the default order statuses. To send email notifications while order statuses change is possible. Also, you can edit the sender name, email address, subject, etc. It is completely suitable with WPML and Advanced Custom Fields.

This a premium plugin, the price is – $33.


  • Icons
  • Action
  • Styling
  • Action Scanner.
  • Email Notification.
  • Dashboard Widget.

3. YITH WooCommerce Custom Order Status

YITH WooCommerce Custom Order Status

When it comes to YITH, then this one is the most powerful plugin to add and manage custom order statuses. Further, similar to the other we have discussed above, YITH WooCommerce Order Status allows the user to assign the colors, custom icons, and opt the labels of your custom order statuses.

With the help of this plugin, the user can boost the appearance and usability of your “Orders” page, so that the useful information becomes more instant to the visitors. And also, you can edit the default order statuses to match with your custom ones.

Continuously, you can easily create a smooth flow of action for the users. Moreover, you can choose whether the user can cancel the order, make payments, download link, etc. And you can define these options for every order status.

Furthermore, the user can also be able to access more features that allow the user step’s advanced monitoring that go from the purchase of an item to deliver to your customers. For example, the users will be able to add custom labels with the colors, icons, and text to spot the various steps of order processing and have an instant current orders overview.

However, the reports section will show the order information for all your order status including custom orders. Also, you can enable email notifications for status changes. Last but not least, the plugin is completely compatible with WPML means that you can use the plugin in other languages as well.

The plugin’s single site license costs $57. Also, there is a free version of the plugin with limited features.


  • It has the possibility to assign the custom statuses to orders.
  • It also has a specific panel to create unlimited order statuses. There is also an option allow to set the various label and colors for each & every status.

4. WooCommerce Advanced Order Status & Action Manager

WooCommerce Advanced Order Status & Action Manager

As the name suggests, WooCommerce Advanced Order Status is also an excellent plugin for managing the WooCommerce store. Further, it allows the user to create, edit, and delete custom order statuses.

However, this perceptive user interface contains the essential options to add custom order status, opt a custom color for each & every new position and much more. Also, it is possible to assign a color and specific action for custom order statuses.

Using this plugin, you can simply create a smooth workflow into your WooCommerce store. And also, you can add the additional current status based features such as display download link, offer purchase links, send thank you email, etc.

You can drag and drop the order’s statuses too within your store admin to get the compatible view. Also, deleting your custom order statuses without losing any orders is possible.

This plugin is priced at $20.

Key Features

  • Clean Design
  • Add Custom Order Status.
  • Ease of use the user interface.
  • Set the colors for each & every status.
  • Compatible with the last WordPress version.
  • Compatible with last WooCommerce version.
  • Assign Icon and Action Button to new order status.
  • In the order list, add the bulk action for new statuses.
  • Edit the new email content through the new templates.

5. WooCommerce Advance Order Status

WooCommerce Advance Order Status

Super Easy to Install and Configure!

WooCommerce Advance Order Status is also one of the most popular plugins for adding various types of custom order statuses such as pre-ordered, delayed, shipped, purchased, etc. into your WooCommerce store. Further, when the order status is changed, then sending custom email notification is also possible.

Continuously, it permits the user to opt the custom colors for each & every order status. Additionally, it will be very useful for the speedy overview of your current order. Also, it will help you to get started instantly. You will find all the necessary options in the admin page of the plugin.

However, this also comes with an entirely setting page where the admin can add, edit or remove the order statuses and set the custom email notifications, colors, etc.

Means to say, dissimilar to other free & paid plugins, Advance Order Status is less jumbled too and gets the work done as per requirement.

This one is also the paid plugin priced at $9 only.

Key Features

  • Easy to install.
  • Translation ready.
  • Change the status in bulk.
  • Custom order for WooCommerce.
  • Detailed documentation is included.
  • Set the color for each & every order status.
  • Works on Woocommerce 2.1.x, 2.2.x and 2.3.

Summing Up

With custom order statuses, you can manage your WooCommerce store in a better way. Now that you have read the blog, you know that which are the best plugin to do this. Choose any of these plugins among them and simplify your store management.

We hope this blog helped you. Which custom order status plugin do you prefer? Let me know in the comment section below.

You can also take help for WooCommerce setup. Our WordPress Experts are always ready to help you, just dial our Toll-Free number +1-855-945-3219 and get the instant support.

Some of the other Useful Blogs:

Leave a Reply

Call Now