How To Create WooCommerce Custom Order Status – With & Without Plugins

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

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

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

If you wish to add multiple custom order statuses, then you have to use a third-party plugin. Fortunately, many plugins can help you for the same purpose.

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

Why Do We Need Custom Order Status?

The 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 users’ 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 features.

There are some pre-defined order situations in the WooCommerce plugin which can help us move the order in a processing cycle. Let’s have a look at the process cycle applied in different 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 the 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 gateway 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 is 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 restrict its users to create a custom order status.

How To Create WooCommerce Custom Order Status

With many upcoming online businesses looking for more features in the development of custom order status, some companies have customized the order status required as per the business model and its growth. With this status, companies can lead ahead and be successful companies and role models for other upcoming startups. 

You can be one step closer to having these additional features, 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’ );

Custom order status

From the 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 is the slug for the order status, prefixed by “wc-” for the WooCommerce plugin.

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 on these pages.

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

Custom order status

Changing an Order Status

Some order statuses are used when a certain control panel action is executed, while others need to be manually used. For example, shipping things will change an order’s status to Shipped, whereas a revoked or Declined order status has to be manually applied.

When an order’s status has been changed, an email can be mailed to the customer automatically to inform them. You can choose which statuses initiate these emails under Settings › Order information.

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 change 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 unrecognized post status. For that, you need to change the order status to “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
  6. Custom Order Status For Woocommerce

1. WooCommerce Order Status Manager

WooCommerce Order Status Manager, WooCommerce Custom Order status plugins

WooCommerce Order Status Manager allows 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 a 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 automatic notification emails while the order situation changes. Using this, the user can edit the name, type, description, and criteria for notification emails. This 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, some smart order statuses 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’s name, email address, subject, etc. It is completely suitable with WPML and Advanced Custom Fields.

This is 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, and custom icons, and opt for 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 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 the 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 to step into advanced monitoring that goes from the purchase of an item to delivery to your customers. For example, the users will be able to add custom labels with 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 statuses 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 plugin’s single-site license costs $57. Also, there is a free version of the plugin with limited features.


  • It can assign custom statuses to orders.
  • It also has a specific panel to create unlimited order statuses. There is also an option that allows setting the various label and colours 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, opt 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 in your WooCommerce store. And also, you can add additional current status-based features such as displaying download links, offer purchase links, sending thank you emails, 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 of the user interface.
  • Set the colors for each & every status.
  • Compatible with the last WordPress version.
  • Compatible with the 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 a custom email notification is also possible.

Continuously, it permits the user to opt for custom colors for each & every order status. Additionally, it will be very useful for a speedy overview of your current order. Also, it will help you to get started instantly. You will find all the necessary options on 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.

This 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.

6. Custom Order Status For Woocommerce

This is another prevalent choice that will help you customize the order status procedure in your WooCommerce account. You will be capable to design custom order statuses and activate emails for them. Moreover, you can select custom order statuses based on the expensive option that the client selects. Custom statuses will be shown on the Actions column on your WooCommerce Orders porter as well. The plugin is relatively easy to configure and operate.

Custom Order Status

You can buy this plugin for $39.

Key Features

  • Create custom order levels and add special icons for them.
  • Send custom order emails for custom status modifications.
  • Utilize custom statuses in agreement with the choice of the payment gateway.
  • Add custom statuses to admin accounts, order actions, and bulk actions.
  • Edit custom statuses.
  • Instinctive interface.

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 a general idea of choosing the best plugin 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 inquiries 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-888-738-0846 and get the instant support.

Leave a Reply