Order Status Per Product For WooCommerce
Order Status Per Product For WooCommerce

Order Status Per Product For WooCommerce

0/5 (0 ratings) 30 active installs Updated May 23, 2026
Plugin Settings Page — Enable/disable toggle, date format input with reference guide, and status display template with placeholder reference.

Plugin Settings Page — Enable/disable toggle, date format input with reference guide, and status display template with placeholder reference.

Order Status Per Product For WooCommerce solves a common problem in WooCommerce stores: a single order may contain multiple products that are in different fulfillment stages, yet WooCommerce gives the whole order just one status.

This plugin adds a dedicated status selector directly inside each product line item on the WooCommerce order admin screen. You create your own custom statuses — Packed, Dispatched, Out for Delivery, Ready for Pickup, Backordered, or anything else your workflow needs — and assign each one a color and an optional note. When a status is saved, the date and time are recorded automatically. Customers see the status, update date, and note on their order page in My Account, all formatted using a template you control completely.

  • Documentation: https://www.plugin999.com/docs/order-status-per-product-for-woocommerce/
  • Demo: https://plugin999.com/demo/check-pincode-for-woocommerce/my-account/view-order/58/
  • Get Pro: https://www.plugin999.com/plugin/order-status-per-product-for-woocommerce/
  • Support: https://www.plugin999.com/support/

WHO IS THIS PLUGIN FOR?

  • Multi-product stores where different items in one order ship on different days or from different warehouses.
  • Made-to-order or craft businesses that need granular fulfillment stages like “In Production”, “Quality Check”, or “Ready to Ship”.
  • Click-and-collect stores that want to mark individual items as “Ready for Pickup” without affecting others in the same order.
  • Dropshipping stores sourcing products from multiple suppliers, each with independent dispatch timelines.
  • Any WooCommerce store that needs to give customers real-time, per-product fulfillment visibility beyond the default order-level statuses.

KEY FEATURES

Enable / Disable With One Click

A prominent toggle switch on the settings page lets you activate or deactivate the entire plugin without losing your configured statuses. Disable it during setup or maintenance and re-enable when ready.

Unlimited Custom Order Statuses

Create as many custom statuses as your workflow requires directly from the plugin’s admin panel. Each status you create is made up of three fields:

  • Status Name — The label shown in the admin dropdown and on the customer’s order page (e.g., “Packed”, “Dispatched”, “Out for Delivery”).
  • Status Color — A custom color chosen from the WordPress Color Palette. The color is applied to the status label on the customer-facing order page so customers can visually distinguish statuses at a glance.
  • Status Note — An optional free-text note attached to the status, such as a tracking message or customer-facing explanation. The note can be displayed on the customer’s order page via a template placeholder.

Per-Product Status Selector in Order Admin

When the plugin is enabled, a dropdown menu labelled “Item Status” appears directly beneath each product line item inside the WooCommerce order edit screen. The dropdown is populated with all your custom statuses, allowing your team to set a different status for every product in the same order independently — without affecting the overall WooCommerce order status. Supports both standard products and product variations.

Automatic Status Date and Time Tracking

Every time a status is saved for a product line item, the plugin automatically records the current date and time. No manual date entry is needed. This timestamp is used in the customer-facing display so shoppers can see exactly when a status was last updated.

Custom Date Format

Define how status update dates appear to customers using standard PHP date format strings (e.g., d-M-Y, d/F/Y, j F Y g:i A). A built-in reference guide inside the settings panel lists all available PHP date codes and their output. If left blank, the plugin falls back to the date and time format already configured in your WordPress General Settings.

Flexible Status Display Template

Control exactly how the status block looks on the customer’s order page using a free-text template field with three smart placeholders:

  • {status} — Outputs the status name, wrapped in the status color defined for that status.
  • {date} — Outputs the status update date in your chosen date format.
  • {note} — Outputs the optional note associated with the status.

Arrange the placeholders in any order, add surrounding HTML or text, and style the output however your theme requires.

Customer-Facing Order Page Display

The formatted status block is displayed on the customer’s My Account > View Order page, directly beneath each product line item. Only items that have an assigned status and a recorded date are displayed — items without a status set remain clean with no extra output.

Add and Remove Statuses Dynamically

The status list in the admin panel is fully dynamic. Click Add Status to add a new row instantly; click Remove on any existing row to delete it. Statuses with a blank name are automatically discarded when saving.

HOW IT WORKS

  1. Install and activate the plugin.
  2. Go to WooCommerce Order Status in your WordPress admin menu.
  3. Toggle the plugin Enabled.
  4. Click Add Status and create your custom statuses — give each one a name, a color, and an optional note.
  5. Set your preferred Date Format (or leave blank to use WordPress defaults).
  6. Write your Status Display Template using the {status}, {date}, and {note} placeholders.
  7. Click Save Changes.
  8. Open any WooCommerce order in the admin. Each product line item now shows an Item Status dropdown — select the appropriate status and save the order.
  9. Customers visiting My Account > View Order will see the status, last-updated date, and note displayed beneath each product in their order.