=== Custom Order Status for WooCommerce ===
Contributors: tychesoftwares
Tags: woocommerce, order status, woo commerce, custom status
Requires at least: 4.4
Tested up to: 7.0
Stable tag: 3.0.0
Requires PHP: 7.3
License: GNU General Public License v3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html

Custom Order Status for WooCommerce allows you to create and manage order statuses. It improves order management & overall order workflow.

== Description ==

> ###🚀&nbsp;&nbsp;New Launch: Flexi BOGO for WooCommerce
>
> The only BOGO plugin with a revenue tracking feature. **Now, at an attractive introductory price**. [Check out our new plugin here](https://www.tychesoftwares.com/products/woocommerce-flexi-bogo-plugin/?utm_source=wprepo&utm_medium=pluginpagetop&utm_campaign=CustomStatus).

####Custom Order Status Main Features####

This plugin lets you create, edit and delete [custom order statuses](https://www.tychesoftwares.com/products/woocommerce-custom-order-status-plugin/?utm_source=wprepo&utm_medium=topprolink&utm_campaign=CustomStatus) in WooCommerce. Below are some features of the Lite plugin:

* When adding custom status, you can set a label, slug, icon and color.
* Select the default status for Cheque and Paypal payment methods.
* Send email notification to customer & admin on change of custom order status.
* Allow store owners to edit orders with custom order statuses and mark them as paid.

### Check out the PRO version of [Custom Order Status for WooCommerce plugin](https://www.tychesoftwares.com/products/woocommerce-custom-order-status-plugin/?utm_source=wprepo&utm_medium=prolink&utm_campaign=CustomStatus).

* Custom Order Status Rules - Set orders to automatically update their status after a certain time or number of days.
* Send email if an order has been in one particular status for more than a pre defined time period.
* Ability to modify labels of default WooCommerce statuses.
* Add bcc email to outgoing order status emails.
* Multi-lingual compatibility.
* Added custom statuses can be added to admin order list bulk actions and to admin reports.

### Some of our Pro plugins

1. **[Flexi BOGO for WooCommerce](https://www.tychesoftwares.com/products/woocommerce-flexi-bogo-plugin/?utm_source=wprepo&utm_medium=pluginpagetop&utm_campaign=CustomStatus "Flexi BOGO for WooCommerce")**

2. **[Abandoned Cart Pro for WooCommerce](https://www.tychesoftwares.com/store/premium-plugins/woocommerce-abandoned-cart-pro/?utm_source=wprepo&utm_medium=link&utm_campaign=CustomStatus "Abandoned Cart Pro for WooCommerce")**

3. **[Booking & Appointment Plugin for WooCommerce](https://www.tychesoftwares.com/store/premium-plugins/woocommerce-booking-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=CustomStatus "Booking & Appointment Plugin for WooCommerce")**

4. **[Order Delivery Date Pro for WooCommerce](https://www.tychesoftwares.com/store/premium-plugins/order-delivery-date-for-woocommerce-pro-21/?utm_source=wprepo&utm_medium=link&utm_campaign=CustomStatus "Order Delivery Date Pro for WooCommerce")**

5. **[Product Delivery Date Pro for WooCommerce](https://www.tychesoftwares.com/store/premium-plugins/product-delivery-date-pro-for-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=CustomStatus "Product Delivery Date Pro for WooCommerce")**

6. **[Deposits For WooCommerce](https://www.tychesoftwares.com/store/premium-plugins/deposits-for-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=CustomStatus "Deposits For WooCommerce")**

7. **[Payment Gateway Based Fees and Discounts for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/payment-gateway-based-fees-and-discounts-for-woocommerce-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=CustomStatus "Payment Gateway Based Fees and Discounts for WooCommerce - Pro")**

8. **[Custom Order Numbers for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/custom-order-numbers-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=CustomStatus "Custom Order Numbers for WooCommerce - Pro")**

9. **[Product Input Fields for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/product-input-fields-for-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=WCPGBasedFees "Product Input Fields for WooCommerce - Pro")**

10. **[Call for Price for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/woocommerce-call-for-price-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=WCPGBasedFees "Call for Price for WooCommerce - Pro")**

11. **[Price based on User Role for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/price-user-role-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=WCPGBasedFees "Price based on User Role for WooCommerce - Pro")**

12. **[Currency per Product for WooCommerce - Pro](https://www.tychesoftwares.com/store/premium-plugins/currency-per-product-for-woocommerce/?utm_source=wprepo&utm_medium=link&utm_campaign=WCPGBasedFees "Currency per Product for WooCommerce - Pro")**

### Some of our other free plugins

1. **[Abandoned Cart for WooCommerce](https://wordpress.org/plugins/woocommerce-abandoned-cart/ "Abandoned Cart for WooCommerce")**

2. **[Order Delivery Date for WooCommerce - Lite](https://wordpress.org/plugins/order-delivery-date-for-woocommerce/ "Order Delivery Date for WooCommerce - Lite")**

3. **[Print Invoice & Delivery Notes for WooCommerce](https://wordpress.org/plugins/woocommerce-delivery-notes/ "Print Invoice & Delivery Notes for WooCommerce")**

4. **[Product Delivery Date for WooCommerce - Lite](https://wordpress.org/plugins/product-delivery-date-for-woocommerce-lite/ "Product Delivery Date for WooCommerce")**

5. **[Payment Gateway Based Fees and Discounts for WooCommerce](https://wordpress.org/plugins/checkout-fees-for-woocommerce/ "Payment Gateway Based Fees and Discounts for WooCommerce")**

6. **[Custom Order Numbers for WooCommerce](https://wordpress.org/plugins/custom-order-numbers-for-woocommerce/ "Custom Order Numbers for WooCommerce")**

7. **[Product Input Fields for WooCommerce](https://wordpress.org/plugins/product-input-fields-for-woocommerce/ "Product Input Fields for WooCommerce")**

8. **[Call for Price for WooCommerce](https://wordpress.org/plugins/woocommerce-call-for-price/ "Call for Price for WooCommerce")**

9. **[Price based on User Role for WooCommerce](https://wordpress.org/plugins/price-by-user-role-for-woocommerce/ "Price based on User Role for WooCommerce")**

10. **[Currency per Product for WooCommerce](https://wordpress.org/plugins/currency-per-product-for-woocommerce/ "Currency per Product for WooCommerce")**

== Installation ==

1. Upload the entire plugin folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the "Plugins" menu in WordPress.
3. Start by visiting plugin settings at "WooCommerce > Settings > Custom Order Status".

== Screenshots ==

1. Orders List with Custom Order Status.
2. Set Default Order Status.
3. General Settings Section.
4. Email Notifications.
5. Email Settings Section.
6. Custom Status List Overview.
7. Bulk Status Change.
8. Add New Custom Status.

== External Services ==

This plugin communicates with our tracking server to send usage data **only** if the user has explicitly opted in to usage tracking. For detailed information about what is tracked, please refer to our [usage tracking documentation](https://www.tychesoftwares.com/docs/docs/custom-order-status-for-woocommerce/custom-order-status-usage-tracking/).

== Changelog ==

= 3.0.0 - 30/06/2026 =
* New - React-based admin interface for Status Manager, Settings, Rules, Emails, SMS, Status by Payments, Labels, and License pages.
* Dev - Introduced a REST API layer (cos-pro/v1) for plugin settings operations.
* Dev - All global plugin settings consolidated from individual alg_orders_custom_statuse_* wp_options rows into a single cos_pro_settings option.
* Update - Compatibility with WordPress 7.0.
* Update - Compatibility with WooCommerce 10.9.1.

= 2.11.0 - 24/02/2026 =
Fix – Corrected broken icon code reference link for custom order status icons in settings.

= 2.10.0 - 03/02/2026 =
* Enhancement - Added options to make orders with custom order statuses editable and allow them to be marked as paid.

= 2.9.0 - 06/01/2026 =
* Tweak - Updated for compatibility with WordPress 6.9.0.
* Tweak - Updated for compatibility with WooCommerce 10.4.3.

= 2.8.0 - 24/06/2025 =
* Fix - PHP warning: Undefined array key "status_slug" when a custom order status is moved to trash or deleted.
* Tweak - Updated for compatibility with WooCommerce 9.9.4.

= 2.7.0 - 15/04/2025 =
* Fix - Added Plugin Name and Plugin Description strings for translation.
* Fix - PHP Warning: Undefined variable $result when custom status is deleted.
* Fix - Resolved all PHPCS warnings and aligned the code with WordPress Coding Standards to enhance quality and maintainability.
* Tweak - Updated for compatibility with WordPress 6.8.
* Tweak - Updated for compatibility with WooCommerce 9.8.1.

= 2.6.0 - 22/11/2024 =
* Fix - Translation loading was triggered too early, causing errors when changing the site language in WordPress 6.7.
* Tweak - Removed the call to our tracking server to fetch the deactivation reasons and added them in the plugin itself.

= 2.5.0 - 22/10/2024 =
* Fix - Deactivation survey request was being sent even though 'Skip & deactivate' was selected while deactivating the plugin.
* Fix - Compatibility issue with "ActiveMember360" plugin causing fatal error on frontend.

= 2.4.1 - 03/04/2024 =
* Fix - Cross Site Request Forgery (CSRF) vulnerability.
* Fix - The order page is crashed if the Custom Order Status has "%" sign included.
* Tweak - Update compatibility with WordPress 6.5
* Tweak - Update compatibility with WooCommerce 8.7

= 2.4.0 - 30/01/2024 =
* Fix - Fixed Cross Site Request Forgery (CSRF) vulnerability. 

= 2.3.0 - 04/07/2023 =
* Enhancement - Added deactivation survey v2.
* Fix - Compatibility with PHP 8.2.2.
* Fix - Compatibility declaration for WooCommerce Product Editor option.
* Fix - Compatibility with High-Performance Order Storage (COT).
* Fix - "Fallback delete order status" setting was not working.
* Fix - Fatal error upon activation of the plugin when Custom Order Number plugin was installed and activated.

= 2.2.1 - 29/11/2022 =
* Fix - Fatal error on the Order Received page.

= 2.2.0 - 29/11/2022 =
* Enhancement - Introduced compatibility with WooCommerce High Performance Order Storage.

= 2.1.1 - 11/05/2022 = 
* Fix - Custom Order Status plugin conflict with Custom order number plugin due to same function name.

= 2.1.0 - 03/05/2022 = 
* Fix - Duplicate Queries on Custom Order Status page.
* Fix - Plugin setting link was missing on the plugin page.
* Fix - Notice to enable color setting was missing.

= 2.0.3 - 14/09/2021 = 
* Enhancement - Added an option to select the default status for Cheque and Paypal payment methods.
* Fix - After migration, slugs were coming empty in some site. This is fixed now.
* Fix - When slug in custom order status starts with wc- then order status don't gets changed to that custom order status. This is fixed now.
* Fix - Text color for the custom order status was coming on the orders page even if the settings for enabling color option is kept disabled. This is fixed now.

= 2.0.2 - 09/04/2021 = 
* Fix - Order status was getting changed when we refresh the Thankyou page. This has been fixed.
* Fix - When we change the slug of the custom order status, orders having that custom status was not seen on the orders page. This has been fixed.

= 2.0.1 - 01/12/2020 = 
* Enhancement - Added new setting "Enable color" to show background color for the statuses in the order page.
* Fix - When we click on the "Custom Order Status Tool" link from the plugin, it shows an error. This has been fixed.
* Fix - After deleting the plugin old data does not get removed. This has been fixed.
* Fix - Orders are getting deleted which has the custom order status when the plugin is deleted. This has been fixed.
* Fix - The status is not getting changed to the custom one when the status is created with 3 words. This has been fixed.
* Fix - Added icons to the labels. This has been fixed.

= 2.0.0 - 05/11/2020 = 
* Feature - Added Custom Post Type for custom statuses with the support of previous tool page.
* Feature - Added Global level email function to send the email to customer & admin on change of custom order status.

= 1.4.11 - 10/09/2020 = 
* Updated compatibility with WordPress 5.5
* Updated compatibility with WC 4.5

= 1.4.9 - 19/03/2020 = 
* Updated compatibility with WC 4.0.0

= 1.4.8 - 23/09/2019 = 
* Made the plugin code compliant with WPCS standards.

= 1.4.7 - 27/03/2019 =
* Added uninstall.php to ensure the plugin settings are removed from the DB when the plugin is deleted.
* Added check to ensure slugs from WC core cannot be added as custom statuses. This has been done to avoid conflicts.
* Applied some bug fixes to ensure the plugin is in sync with the PRO version.

= 1.4.6 - 16/11/2018 =
* Author name and URL updated due to handover of the plugins.

= 1.4.5 - 31/10/2018 =
* Compatibility with WooCommerce 3.5.0 tested.

= 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 =
* Initial Release.

== Upgrade Notice ==

= 1.0.0 =
This is the first release of the plugin.
