Demo — Editorial Workflow

Stops writers publishing straight to the live site. Content moves through an approval chain instead, with email at every handoff. For clients with a compliance requirement, a legal review step, or an editor who wants the final say.

Nothing to see on the front end

This plugin has no shortcode and produces no visitor-facing output. It works inside wp-admin. To see it: open the Editorial Workflow screen, then open any post and look for the Workflow status panel in the sidebar.

The default chain

Draft → In Review → Published. The author writes and presses Submit for Review. The editor gets an email and a dashboard list called “Awaiting your review”, then either approves it — which publishes it — or sends it back with a note explaining what to fix.

Configuring it

Nothing is hardcoded. The whole chain lives in a JSON configuration at Editorial Workflow → Tools: export it, edit it, paste it back. It is validated before saving, and a bad configuration is rejected with a message naming what is wrong rather than half-applied.

The plugin ships two ready-made chains: the simple one above, and a two-stage version that sends anything tagged Legal or Policy down an extra legal review branch first. Those tags come from a Workflow Flags box the plugin adds to the post editor.

The other pieces

SLA escalation — if an item sits unreviewed too long the plugin re-emails the approver and then escalates to someone else, with a much shorter deadline for anything tagged Urgent. Section scoping — optional, restricts a writer to the sections of the site they are assigned to. Audit trail — every status change recorded with who, when and any note.

Before deploying it anywhere

Work out who the approver is and make sure that person’s WordPress role matches the one named in the configuration. Approvers are chosen by role, so if the configuration says editor and nobody on the site has the Editor role, content goes into review and nobody is told.

Also confirm the target site can actually send email. This staging site cannot, which is why the notification side is untested here.