OST Editorial Workflow

Description

Content that needs sign-off moves through a defined chain instead of being published straight away: Draft, then one or more review stages, then Published. Every handoff emails the right people and appears in their dashboard review queue.

Nothing about the chain is hardcoded. Statuses, roles, routing rules, SLAs and notifications are all defined in configuration, so the same plugin can run a two-step review on one site and a multi-stage compliance process on another.

Features

  • Custom review statuses between Draft and Published, with your own labels
  • Role-based approval — each step names the roles that may act on it
  • Conditional routing — divert items carrying a given taxonomy term down a different branch
  • Email notifications plus an “Awaiting your review” dashboard queue and admin-bar count
  • SLA escalation — re-notify approvers and escalate when an item sits too long, with an urgent override
  • Section-scoped editing — restrict an author to their assigned sections
  • Audit trail in its own table — shown on the post editor, browsable on its own screen, exportable as CSV, and optionally mirrored to Simple History
  • Works with the block editor, the classic editor and Elementor, on posts, pages and any custom post type

Configuring it

On activation a minimal default chain is installed. Export it as JSON from Editorial Workflow Tools, edit it, and import it back; imports are validated before they are saved. The /examples folder contains ready-made profiles.

Screenshots

Installation

  1. Copy the ost-editorial-workflow folder into wp-content/plugins/.
  2. Activate the plugin through the Plugins menu.
  3. Go to Editorial Workflow to review the active chain.

FAQ

Does it work with custom post types?

Yes. List the post types in the workflow’s post_types array.

Can administrators bypass the chain?

Yes, by design. Anyone with manage_options may act at any step without being named in that step’s roles. Since 1.1.0 this is applied consistently: they also see those items in the review queue and receive the notifications, which they did not before. On a site where the administrator is the only approver, the workflow was previously silent.

To turn that off and have only the roles named in each step approve, return false from the ostew/is_global_approver filter.

An item is stuck in a status that is not in my workflow any more. What now?

Removing a step while content still sits in its status is refused, and the import screen tells you how many items are affected. Move them first, then save the change.

If content was stranded some other way — a ostew/workflows filter, or a direct edit of the option — the status stays registered so the content remains visible and queryable, and an admin notice links straight to it. Move those items into a status in the current chain and the notice clears itself.

Does escalation work out of the box?

No. The shipped default has an empty escalation block, so nothing is chased until you add a rule. Add one per status, with sla_hours and where to escalate to.

Note that the escalation reminder goes to every approver including the item’s own author if they hold an approver role. The transition notifications do suppress self-notification; the escalation reminder deliberately does not.

The review queue count looks out of date.

It is cached for two minutes per user, so the dashboard and admin-bar counts can lag by that much. The list itself is not cached.

Can I keep the audit trail when I delete the plugin?

Download it first from Editorial Workflow Tools Audit trail. Deleting the plugin drops the table, but it now writes a CSV copy to wp-content/uploads/ost-editorial-workflow/ before it does.

Is there a visual workflow builder?

No. The chain is edited as JSON under Tools. This is comfortable for a developer; if non-technical admins need to reconfigure the chain, plan for that.

What happens to my data if I deactivate it?

Nothing. Deactivation only clears the scheduled escalation scan, and reactivating puts it back on the next clock hour. Deleting the plugin removes its options, post meta and audit table, after exporting the audit trail to the uploads folder.

Does it send email itself?

It sends through wp_mail(). Delivery depends on how the site is configured; the plugin does not set up SMTP.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“OST Editorial Workflow” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.1.1

  • The stranded-content warning no longer appears across the whole admin. It is limited to the Dashboard, this plugin’s own screens, and the post lists holding the affected content, it can be dismissed, and it returns only if something new is stranded.
  • Removed the database query that warning ran on every admin page load.

1.1.0

  • Fixed: removing a workflow step while content still held its status left that content unreachable — no actions, missing from admin lists, and get_posts() silently dropped the status filter and returned everything. The change is now refused while content occupies the status, a status that leaves the configuration stays registered so nothing becomes invisible, and an admin notice links to anything affected.
  • Fixed: administrators saw an empty review queue and received no notifications, even though they could approve. Who counts as an approver is now decided in one place, used by the action handler, the queue and the notification resolver alike. The ostew/is_global_approver filter turns it off.
  • Fixed: the audit trail was written but never displayed. Added an “Editorial history” panel on the post editor, an Editorial Workflow History screen for one item or the whole site, a CSV export under Tools, and an action column so an approval is distinguishable from a manual status change. The block editor keeps classic meta boxes in a drawer that ships collapsed, so the workflow panel links to the History screen directly.
  • Fixed: deleting the plugin dropped the audit table with no copy. It now writes a CSV to wp-content/uploads/ost-editorial-workflow/ first.
  • Fixed: configuration validation accepted post types that do not exist, leaving a workflow that silently managed nothing.
  • Fixed: deactivating and reactivating pushed the escalation scan back by up to an hour. It is now scheduled on the next clock hour.
  • Database schema version 2. Existing installs upgrade automatically on the next admin request.

1.0.0

  • Initial release: custom statuses, approval chain and publish gate, notifications with dashboard queue, SLA escalation, section-scoped editing, audit trail, JSON import/export, block + classic + Elementor editor support.