How To Create WooCommerce Custom Order Status With And Without Plugins (Top Best 2021 Plugin)

WooCommerce is  considered as one of the best e-commerce plugins with features also known as extensions. Further, WooCommerce plugin lets you sell services & products from your WordPress site.

In fact, it is entirely manufactured by Automattic, a company providing services to a billion customers each month also known as the corporate WordPress’s arm. Hence, if you are using WordPress, then you are into a right path with the right tools for your success.

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 plugin limitations which is limiting towards the small number of order status.

If you wish to add multiple custom order status, then you have 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 Status?
  • How To Create WooCommerce Custom Order Status
  • Steps to remove a Shipped order status in WooCommerce plugin
  • Top WooCommerce Custom Order Status Plugins
    • WooCommerce Order Status Manager
    • WooCommerce Order Status & Actions Manager
    • YITH WooCommerce Custom Order Status
    • WooCommerce plugin Advanced Order Status & Action Manager
    • WooCommerce plugin Advance Order Status
  • Summing Up

Why Do We Need Custom Order Status?

WooCommerce plugin 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 e-commerce. e-commerce provides various types of products as per user’s requirements. WooCommerce plugin is developed for the current ecommerce scenarios as a tool used in different product types  with several features and these products can have different order status feature.

There are some pre-defined order situations in WooCommerce plugin which can help us move the order in a processing cycle. Let’s have a look with the process cycle applied in differnet stages.

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

Stage 2: 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.

Stage 3: Completion –  Once the order is placed, payment has been made and order is delivered to the customer, the order is marked as completed.

Stage 4: 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.

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

Stage 6: Refunds –  If the order is canceled, the payment has been paid by the admin to the customer.

Stage 7: Payment Failure – If the checkout or payment was declined, the order status due to payment failure.

All this gives a clear idea that, why a custom order status in WooCommerce plugin is an important requirement for any business and there is a good reason that an eCommerce framework will never ever restrict its users to create a custom order status.

How To Create WooCommerce Custom Order Status

With many upcoming online business looking for more features in development of custom order status, some companies have customized the order status required as per the business model and its growth. With these status, companies are able to lead ahead and be a successful company and a role model for other upcoming startups. 

You can be one step closer to have these additional features, to add these statuses is simple and needs a little bit of custom code for a 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’ );

From above code, By using the WordPress register_post_status() function we have added the post status. Note that here an important thing in this function which is the slug for the order status, prefixed by “wc-” for WooCommerce plugin.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 by 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 as a new post status into the available order statuses listed inside the list of WooCommerce plugin orders and Edit orders pages. these statuses are available for use for these pages.

However, now the for each loop goes via custom order statuses list until it searches the one which we require. In this type of case, insert the Shipping status after processing order status. This is the reason, of why 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’re using the Code Snippets plugin, just simply deactivate the snippet. By doing this, the status of your order will by default changed to “Pending Payment” status.
  • Though the orders, which will be using your new status may not appear in the orders list. As once the code is removed then the order will reside under an un-recognized post status. For that, you need to change the order status to a “Core Status” before you deactivate or remove this snippet.
  • Regardless of all this, the orders will still be existing and you will be able to navigate orders directly using the post id, but the only difference will be that these orders won’t be recognized in the orders list until the above code is generated.

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 through emails.

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

Continuously, it is easy to use plugin which allows the automatic notification emails while the order situation changes. Using this, the user can edit the name, type, description, and criteria for notification emails. Means, it will be very useful for customers and administrator who remains updated about changes in the inventory list which is considered as a very important requirement for the growth of an e-commerce business.

Also, you can re-order the default sorting of statuses. Fortunately, there are some smart order statuses that will offer many 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 which means that you can use the plugin in other languages as well.

The plugins 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, from this perceptive a user interface contains the essential options to add custom order status, opting for a custom color for each & every new position and much more. Also, it is possible to assign a color and specific actions 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 Manager

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.

Which means, as dissimilar to other free & paid plugins the Advance Order Status by WooCommerce is less jumbled and gets the work done perfectly as per the user requirements.

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 now have general idea on choosing the best plugin to for your business needs. Use any of these plugins and simplify your store management without any hassles.

We hope this blog helped you. Which custom order status plugin do you prefer? Let us know in the comment section below. Contact us for any enquiries directly here.

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