Description
Custom Order Status for WooCommerce plugin lets you add custom order statuses to WooCommerce. When adding status, you can set:
- Custom status slug.
- Custom status label.
- Custom status icon.
- Custom status icon & text color.
Custom statuses can be added to admin order list bulk actions and to admin reports.
You can also set default order status for new orders.
Custom status orders can be set as editable and/or paid.
You can create custom emails that we be automatically sent on order status change.

Custom Order Status Tool

General Options
Plugin settings can be accessed via WooCommerce > Settings > Custom Order Status.

- Add custom statuses to admin order bulk actions
- Default:
yes
- Add custom statuses to admin reports
- Default:
yes
- Default order status
- You can change the default order status here. However some payment gateways may change this status immediately on order creation. E.g. BACS gateway will change status to On-hold. Plugin must be enabled to add custom statuses to the list. Possible values: No changes; Pending payment; Processing; On hold; Completed; Cancelled; Refunded; Failed; {Custom Statuses}.
- Default:
No changes
- Default order status for BACS (Direct bank transfer) payment method
- Plugin must be enabled to add custom statuses to the list. Possible values: No changes; Pending payment; Processing; On hold; Completed; Cancelled; Refunded; Failed; {Custom Statuses}.
- Default:
No changes
- Default order status for COD (Cash on delivery) payment method
- Plugin must be enabled to add custom statuses to the list. Possible values: No changes; Pending payment; Processing; On hold; Completed; Cancelled; Refunded; Failed; {Custom Statuses}.
- Default:
No changes
- Fallback delete order status
- When you delete some custom status with “Custom Order Statuses Tool”, all orders with that status will be updated to this fallback status. Please note that all fallback status triggers (email etc.) will be activated. Possible values: Pending payment; Processing; On hold; Completed; Cancelled; Refunded; Failed; {Custom Statuses}; No fallback.
- Default:
On hold
- Add custom statuses to admin order list action buttons
- Default:
no
- Enable colors for action buttons
- Default:
no
- Enable colors in status column
- Default:
no
- Add custom statuses to admin order preview action buttons
- Default:
no
- Make custom status orders editable
- Default:
no
- Make custom status orders paid
- By default paid statuses are:
processing
, completed
.- Default:
no
Emails Options

- Enable section
- Default:
no
- Statuses
- Custom statuses to send emails. Leave blank to send emails on all custom statuses. Possible values: {Custom Statuses}.
- Default: None
- Email address
- Comma separated list of emails. Leave blank to send emails to admin. Use
%customer%
to send email to the customer’s billing email; %admin%
to the admin’s email.- Default: None
- ”Email
- Order #{order_number} status changed to {status_to} – {order_date}” tag_for_default=”pre”]Replaced values:
{order_id}
, {order_number}
, {order_date}
, {site_title}
, {status_from}
, {status_to}
. You can also use shortcodes here.- Default:
”[{site_title}
- Email heading
- Replaced values:
{order_id}
, {order_number}
, {order_date}
, {site_title}
, {status_from}
, {status_to}
. You can also use shortcodes here.- Default:
Order status changed to {status_to}
- Email content
- Replaced values:
{order_id}
, {order_number}
, {order_date}
, {order_details}
, {site_title}
, {status_from}
, {status_to}
. You can also use shortcodes here.- Default:
Order #{order_number} status changed from {status_from} to {status_to}
Advanced Options

- Filters priority
- This will set priority for WooCommerce filters used in plugin. Leave zero, if not sure.
- Default:
0
Tips & Tricks
If “Actions” column is missing in admin “Orders” list – please go to your “Orders” list and there in the top right corner is “Screen Options” button. If you click it, you will be able to enable/disable columns (including “Actions”).
Please note that if you are using plugin’s “Default order status” option, you may stop receiving some standard WooCommerce emails. This happens because triggers that send default WooCommerce emails are related to order status changes. For example “Processing order” email is sent on these order status changes: from failed to processing, from on-hold to processing, from pending to processing. And “Order on-hold” emails are sent on: from pending to on-hold, from failed to on-hold. So if you change the default order status, emails are never triggered. Possible workaround would be to create new email in plugin’s “Emails” section that would look like standard WooCommerce email.
Changelog
2.0.2 - 26/11/2020
- Fix - Order Status was not getting changed when the Custom Status Name was having more than 17 Characters. This has been fixed.
2.0.1 - 26/10/2020
- Fix - Linebreaks were not coming in the emails when the order status is changed.
2.0.0 - 12/10/2020
- Feature - Added Custom Post Type for custom statuses with the support of previous tool page.
- Feature - Custom Post Type includes individual Email settings so admin can set different emails for individual status.
- Fix - Order Email not received to ‘admin’ and ‘customer’.
- Fix - Unable to edit or view the products on the back-end of the Products page when the plugin is active.
- Tweak - Billing or Shipping address not visible in the email when status changes to the custom order status.
1.5.0 - 27/06/2020
- This update to the plugin includes the ability to track non-sensitive diagnostic plugin data with the site admin's consent.
1.4.8 - 12/03/2020
This update to the plugin is for announcing the plugin compatibility with WooCommerce v4.0.0
1.4.7 - 22/02/2020
This update to the plugin is for announcing the plugin compatibility with WooCommerce v3.9.x
1.4.6 - 27/03/2019
- Feature - Added 2 new merge tags for email content {first_name} and {last_name}
- Fix - Emails sent by the plugin for status change display the status slug instead of the name.
- Fix - Email send to setting when set to %admin% resets to min%. Modified and changed it to {customer_email} and {admin_email}.
- Fix - Added uninstall.php file to cleanup the settings when the plugin is deleted.
- Tweak - Modified the plugin to not accept slugs already present in the terms table as it conflicts with WooCommerce.
- Tweak - Modified the plugin to show the Mark Order Complete icon in WooCommerce->Orders->Actions column for custom status orders.
1.4.4 - 16/10/2018
- Feature - Emails - Email content -
{order_details}
replaced value added. - Feature - Default order status - "Default order status for BACS / COD" options added (instead of forcing BACS and COD to "default order status", as was added in previous plugin version 1.4.3).
1.4.3 - 15/10/2018
- Dev - Default order status - Forcing BACS and COD payment gateways to "default order status".
1.4.2 - 27/09/2018
- Dev - WPML / Polylang plugins compatibility (
wpml-config.xml
file) added.
1.4.1 - 23/09/2018
- Feature - "Add custom statuses to admin order preview action buttons" option added.
- Dev - Code refactoring.
- Dev - Minor admin settings restyling.
1.4.0 - 03/09/2018
- Feature - "Emails" section added.
- Feature - "Make custom status orders paid" option added.
- Dev - Code refactoring.
- Dev - Admin settings divided into sections, restyled and descriptions updated.
- Dev - "Enable plugin" option removed.
1.3.5 - 22/06/2018
- Feature - "Make custom status orders editable" option added.
- Dev - Plugin URI updated to wpfactory.com.
- Dev - Settings are saved as main class property.
1.3.4 - 24/05/2018
- Dev - "Advanced: Filters priority" option added.
1.3.3 - 15/05/2018
- Dev - "Text Color" option added.
1.3.2 - 15/05/2018
- Dev - "Enable Colors in Status Column" option added.
- Dev - "WC tested up to" added to the plugin header.
1.3.1 - 10/05/2017
- Fix -
Too few arguments to function Alg_WC_Custom_Order_Statuses_Settings_Section::get_settings()
fixed.
1.3.0 - 30/04/2017
- Dev - WooCommerce 3.x.x compatibility - Order ID.
- Dev - Custom Order Status Tool - Sanitizing slug before adding new status.
- Dev - Custom Order Status Tool - "Delete with fallback" separate button added. Simple "Delete" button now deletes statuses without any fallback.
- Dev - Custom Order Status Tool - "Edit" functionality moved from Pro to free version.
- Tweak - readme.txt and plugin header updated.
- Tweak - Custom Order Status Tool - Restyled.
- Tweak - Custom Order Status Tool - Code refactoring.
- Tweak - Link changed from
coder.fm
to wpcodefactory.com
.
1.2.1 - 23/01/2017
- Dev - "Reset settings" button added.
- Tweak - readme.txt fixed.
1.2.0 - 17/01/2017
- Fix - Tool - Add - Checking for duplicate default WooCommerce status added.
- Dev - Tool - "Edit" custom status button added.
- Dev - Fallback status on delete.
- Dev - "Add Custom Statuses to Admin Order List Action Buttons" options added.
- Dev - Extended (paid) version added.
- Tweak - Plugin "Tags" updated.
1.1.0 - 14/12/2016
- Fix -
load_plugin_textdomain()
moved from init
hook to constructor. - Fix - All
get_option
calls have default value now. - Dev - Language (POT) file added. Domain 'custom-order-statuses-for-woocommerce' changed to 'custom-order-statuses-woocommerce'.
- Dev - Bulk actions added in proper way for WordPress version >= 4.7.
- Tweak - Donate link updated.
1.0.0 - 12/11/2016
Free version
This plugin is a premium version of free "Custom Order Status for WooCommerce" plugin.
Refunds
We want to ensure that you are 100% happy with your purchase, so if you feel the product(s) you purchased are not the best fit for your requirements and you attempted to resolve issues with product's author, we are offering 30 day money back guarantee refund policy.
Skara –
Beautiful plugin! Not sure what problems had previous reviewer – I had none. Thanks!
Twan –
It is a poor plugin, there are a lot of hickups in the statusses and isn’t compatible with pdf and packiging slips or other plugins.
DON”T USE THIS PLUGIN!!!!!!!!!!!!!!!!!!!!!!!!!!
It is messing up your whole databse as soon if you decide not to use it anny longer.
Omri (verified owner) –
First of all, after i tryed 15 different plugins i can say that this plugin is the best plugin you can ask.
its work with woocommerce. its support wp multisite, you can choose icon and color that will show in you order panel. its work with oder wordpress plugins.
about the author, i have some issue with some plugins and i wait days for replay. i sent a message to this plugin author (Tom) and he send me email immediately and ask for screen share to help. he fixed the small problem i had and then i was rude and ask him to help me with other plugin. he fixed the other plugin problem in 3 sec max!!!!
he just a genius, i got a great service and i really apretiate that.