Order Status Rules for WooCommerce plugin settings are located in “WooCommerce > Settings > Order Status Rules”.
General
General settings are located in “WooCommerce > Settings > Order Status Rules > General”.
- Total rules
-
Sets the number of total order status rules you want to add. New settings sections will be added if you change this option and “Save changes”.
Default value:
1
Tools
- Run all rules now
-
Check the box and save changes to run the tool.
Default value:
no
Rule
Each rule’s settings are located in “WooCommerce > Settings > Order Status Rules > Rule #X”.
- Enable/Disable
-
Enables/disables the order status rule.
Default value:
no
- Status from
-
Order status to change from. Possible values: Pending payment; Processing; On hold; Completed; Cancelled; Refunded; Failed; and all other custom order statuses, if any exist.
Default value:
Pending payment
- Status to
-
Order status to change to. Possible values: Pending payment; Processing; On hold; Completed; Cancelled; Refunded; Failed; and all other custom order statuses, if any exist.
Default value:
Cancelled
- Time trigger
-
Time trigger.
Default value:
1
- Time trigger > Units
-
Possible values: second(s); minute(s); hour(s); day(s); week(s).
Default value:
hour(s)
- Skip days
-
Set this if you want to skip some weekdays, when calculating trigger time (optional). Ignored if empty or if all seven days are selected. Possible values: Monday; Tuesday; Wednesday; Thursday; Friday; Saturday; Sunday.
Default value: None
- Admin title (optional)
-
Set this if you want add a title to the rule (visible to admin only).
Default value: None
Conditions
- Minimum order amount
-
Minimum order amount (subtotal). If you want the rule to be applied only for orders with subtotal equal or greater than some value, you can set it here. Ignored if empty.
Default value: None
- Maximum order amount
-
Maximum order amount (subtotal). If you want the rule to be applied only for orders with subtotal equal or less than some value, you can set it here. Ignored if empty.
Default value: None
- Minimum order quantity
-
Minimum number of items in the order. If you want the rule to be applied only for orders with number of items equal or greater than some value, you can set it here. Ignored if empty.
Default value: None
- Maximum order quantity
-
Maximum number of items in the order. If you want the rule to be applied only for orders with number of items equal or less than some value, you can set it here. Ignored if empty.
Default value: None
- Payment gateways
-
Required payment gateways. If you want the rule to be applied only for orders with selected payment gateways (e.g., “Direct bank transfer” and/or “Check payments”), you can set them here. Ignored if empty.
Default value: None
- Shipping methods
-
Required shipping methods. If you want the rule to be applied only for orders with selected shipping methods (e.g., “Flat rate” and/or “Canada: Free shipping”), you can set them here. Ignored if empty.
Default value: None
- Billing countries
-
Required billing countries If you want the rule to be applied only for orders with selected billing countries, you can set them here. Ignored if empty.
Default value: None
- Shipping countries
-
Required shipping countries If you want the rule to be applied only for orders with selected shipping countries, you can set them here. Ignored if empty.
Default value: None
- Products
-
Required products. If you want the rule to be applied only for orders with selected products, you can set them here. Ignored if empty.
Default value: None
- Products > All products
-
All products in the order must match the selection (vs at least one product).
Default value:
no
- Product categories
-
Required product categories. If you want the rule to be applied only for orders with selected product categories, you can set them here. Ignored if empty.
Default value: None
- Product categories > All products
-
All products in the order must match the selection (vs at least one product).
Default value:
no
- Product tags
-
Required product tags. If you want the rule to be applied only for orders with selected product tags, you can set them here. Ignored if empty.
Default value: None
- Product tags > All products
-
All products in the order must match the selection (vs at least one product).
Default value:
no
- Product stock status
-
Required product stock status. If you want the rule to be applied only for orders with selected product stock status (e.g., “In stock”, “Out of stock”, “On backorder”), you can set them here. Ignored if empty.
Default value: None
- Product stock status > All products
-
All products in the order must match the selection (vs at least one product).
Default value:
no
- Coupons
-
Required coupons. If you want the rule to be applied only for orders with any or specific coupon(s), you can set it here. Possible values: Do not check; Any coupon; Specific coupon(s); No coupons.
Default value:
Do not check
- Coupons > Specific coupons
-
Coupon codes. Can be a comma-separated list. Ignored unless the “Coupons” option is set to “Specific coupon(s)”.
Default value: None
- User roles
-
Required user roles. If you want the rule to be applied only for orders from selected user roles (e.g., “Guest”, “Customer”, etc.), you can set them here. Ignored if empty.
Default value: None
- Users
-
Required users. If you want the rule to be applied only for orders from selected users, you can set them here. Ignored if empty.
Default value: None
- Paying customer
-
Is order user a paying customer? If you want the rule to be applied only for orders from paying or not paying customers, you can set it here. Possible values: Do not check; Paying customer; Not paying customer.
Default value:
Do not check
- Date created before
-
Date (UTC). If you want the rule to be applied only for orders created before some date, you can set it here. Ignored if empty.
Default value: None
- Date created after
-
Date (UTC). If you want the rule to be applied only for orders created after some date, you can set it here. Ignored if empty.
Default value: None
- Meta > Meta key
-
Required order meta. If you want the rule to be applied only for orders with specific order meta value, you can set it here. Ignored if empty.
Default value: None
- Meta > Meta value
-
Meta value.
Default value: None
- Meta > Multiple meta values
-
Allows setting multiple meta values as a comma-separated list.
Default value:
no
Advanced
- Orders sorting > Order by
-
Order by. Possible values: ID; Random; Date; Modified.
Default value:
Date
- Orders sorting > Order
-
Possible values: Descending; Ascending.
Default value:
Descending
- Rules processing hooks
-
Possible values: Order status changed.
Default value:
Order status changed
- Allow rules processing via URL
-
This will allow to initiate all rules processing via URL:
https://example.com?alg_wc_order_status_rules_process_rules
. For example, this could be useful if you are going to disable Periodical Processing Options and use “real” (i.e. server) cron jobs instead.Default value:
no
- Debug
-
Will add a log to WooCommerce > Status > Logs.
Default value:
no
- Disabled conditions
-
Removes the selected conditions from each rule’s settings. Possible values: Minimum amount; Maximum amount; Minimum quantity; Maximum quantity; Payment gateways; Shipping methods; Billing country; Shipping country; Products; Product categories; Product tags; Product stock status; Coupons; User roles; Users; Paying customer; Meta; Date created before; Date created after.
Default value: None
Order Status History Options
Please note that plugin must be enabled at the time order gets its initial status. If you open order’s admin edit page, you should see “Order Status History” meta box:
Order Status History – Empty
Order Status History – Filled
- Empty order status history
-
Plugin must be enabled at the time order status change occurs, so there is no order status change history on initial plugin install. This can be solved by using order creation (or modification) date instead (i.e. instead of real status change date). This is ignored for orders with available real status change history. Possible values: Do nothing; Use order date created; Use order date modified.
Default value:
Use order date modified
- Non-matching order status
-
If order status is not properly changed (e.g. by some plugin), it may happen that current order status does not match the last record in order status change history. In this case order status rules will not be applied. You can change this behaviour here. Possible values: Do nothing; Use latest record anyway.
Default value:
Do nothing
Periodical Processing Options
Although it’s possible to enable both periodical processing options, we recommend enabling only one of them.
If you are going to disable both periodical processing options, you may want to enable the Allow rules processing via URL option and set up “real” (i.e. server) cron job. Also you can use our “Run all rules now” tool manually.
- Use WP cron
-
This will use WordPress crons to process the rules periodically.
Default value:
yes
- WP cron > Interval
-
Possible values: Once every minute; Once every 15 minutes; Once every 30 minutes; Once hourly; Twice daily; Once daily; Once weekly.
Default value:
Once hourly
- Use Action Scheduler
-
This will use Action Scheduler to process the rules periodically. Action Scheduler has a built in “administration screen” for monitoring, debugging and manually triggering scheduled actions. Search for the
alg_wc_order_status_rules_process_rules_as
hook there.Default value:
no
- Action scheduler > Interval
-
Interval in seconds.
Default value:
3600
Compatibility
- “Doctreat” theme
-
For the “Doctreat – Doctors Directory WordPress Theme” by AmentoTech.
Default value:
no
“My Account” Options
This is a “bonus” feature of the plugin. As plugin tracks order status changes, we can display them on customer’s “My Account” page.
- My Account > Orders
-
Adds order status history to “My Account > Orders”.
Default value:
no
- Position
-
Possible values: “Status” column; New column.
Default value:
"Status" column
- Column title
-
Ignored unless “New column” is selected for the “Position”.
Default value:
History
- Template > Before
-
Before
Available placeholders:%current_status%
.Default value:
%current_status%
- Template > Each record
-
Available placeholders:
%record_nr%
,%record_date%
,%record_time%
,%status_from%
,%status_to%
.→
is an HTML code for the right arrow symbol.Default value:
<br>%status_from% → %status_to%
- Template > After
-
Available placeholders:
%current_status%
.Default value: None
- Reverse status history
-
Reverses status history.
Default value:
yes