

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.
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:
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:
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.