How to Add Custom Order Status in WooCommerce

How to Add Custom Order Status in WooCommerce

When running an online store with WooCommerce, the default order statuses (like “Pending,” “Processing,” and “Completed”) might not always meet your business needs.

For example, you may want to create custom statuses like “In Production” or “Awaiting Pickup” to better track the progress of your orders.

In this step-by-step guide, I’ll walk you through how to add a custom order status in WooCommerce without getting too technical.

Whether you’re a beginner or someone looking for clear instructions, you’ll find this guide simple to follow.


What You’ll Learn

  1. Why custom order statuses are useful.
  2. How to create a custom order status using a plugin.
  3. How to create a custom order status with code (for advanced users).

Why Add a Custom Order Status?

Custom order statuses let you:

  • Improve Order Management: Track orders more precisely based on your workflow.
  • Communicate Better: Keep customers informed with statuses that match your business processes.
  • Save Time: Avoid confusion by aligning order statuses with your internal operations.

For example, if you make handmade products, a status like “In Production” could show customers that their order is being crafted.


Method 1: Add Custom Order Status Using a Plugin(Recommended for Beginners)

The easiest way to add a custom order status is by using a plugin. WooCommerce has several free and premium plugins to handle this, like “Custom Order Status for WooCommerce” or “Order Status Manager for WooCommerce.”

1. Install and Activate the Plugin

  • Go to your WordPress dashboard.
  • Navigate to Plugins > Add New.
  • Search for “Custom Order Status for WooCommerce.”
  • Click Install Now and then Activate once the installation is complete.

2. Access the Plugin Settings

  • After activation, go to WooCommerce > Settings.
  • Look for the Order Status or similar tab (this may vary by plugin).

3. Add a New Custom Status

  • Click on the option to add a new order status.
  • Enter the name of your custom status, e.g., “Awaiting Pickup.”
  • Choose a color for easy identification (optional).
  • Save the status.

4. Assign the Status to Orders

  • Go to your orders page (WooCommerce > Orders).
  • Open an order and select your custom status from the dropdown menu in the order actions section.

5. Notify Customers (Optional)

  • Some plugins let you send email notifications when an order status changes.
  • Enable this option and customize the email template if needed.

Method 2: Adding a Custom Order Status with Code (For Advanced Users)

If you prefer not to use a plugin or want more control, you can create a custom order status using code.

Here’s how:

1. Backup Your Website

  • Before making changes to your site, always back it up. This ensures you can restore it if something goes wrong.

2. Access Your Theme’s Functions File

  • Go to your WordPress dashboard.
  • Navigate to Appearance > Theme File Editor.
  • Find and open the functions.php file of your active theme.

3. Add the Custom Order Status Code

  • Copy and paste the following code into the functions.php file:
// Register a new custom order status
add_action('init', 'register_custom_order_status');
function register_custom_order_status() {
    register_post_status('wc-awaiting-pickup', array(
        'label'                     => 'Awaiting Pickup',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop('Awaiting Pickup (%s)', 'Awaiting Pickup (%s)'),
    ));
}

// Add the custom status to WooCommerce
add_filter('wc_order_statuses', 'add_custom_order_status_to_list');
function add_custom_order_status_to_list($order_statuses) {
    $order_statuses['wc-awaiting-pickup'] = 'Awaiting Pickup';
    return $order_statuses;
}

This code does two things:

  • Registers a new status called “Awaiting Pickup.”
  • Adds it to the WooCommerce order statuses list.

4. Save and Test the Code

  • Save the changes to your functions.php file.
  • Go to WooCommerce > Orders and check if “Awaiting Pickup” appears in the status dropdown.

5. Customize Email Notifications (Optional)

If you want WooCommerce to send emails for this custom status, you’ll need to add more code.


Tips for Using Custom Order Statuses

  1. Test Thoroughly
    Before using your custom status in real orders, test it on dummy orders to ensure everything works correctly.
  2. Use Descriptive Names
    Choose names for your statuses that are clear and easy for customers to understand.
  3. Keep It Simple
    Avoid adding too many custom statuses, as it can make order management more confusing.

Conclusion

Adding a custom order status in WooCommerce is a great way to streamline your order management and improve customer communication. For most users, using a plugin is the simplest and safest method. However, if you’re comfortable with coding, the manual method provides more flexibility.

Take a moment to think about how custom statuses could improve your store’s workflow and try it out today! If you found this guide helpful, feel free to share it or leave a comment below with any questions.

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top