WordPress has no native way to duplicate a post
You run a blog with consistent formatting — author signature, CTA block, related-posts grid. Every new post needs the same 8 blocks at the bottom. Copy-pasting from a previous post is error-prone. The Duplicate Post plugin works but is heavy for a single clone.
What most people do instead
A better way: one command, complete clone
Run duplicate post -post_id=247. The command clones title, content, excerpt, featured image, categories, tags, and every custom meta field. The clone arrives as a draft named "Copy of [original title]" — edit it, publish when ready.
Not just the content — every field. Featured image, custom fields, taxonomies, SEO overrides (Yoast / Rank Math), WooCommerce attributes, ACF fields. The clone is identical to the original except its slug (unique-suffixed) and status (draft).
How it works
The command uses WordPress\'s wp_insert_post with a deep copy of the original post\'s content, then replays every postmeta row under the new post ID. Taxonomy terms are re-assigned by term ID. The result is a byte-identical clone under a new draft ID.
| Parameter | Value |
|---|---|
-post_id(required) | ID of the post to duplicate |
| What\'s cloned | Title, content, excerpt, featured image, categories, tags, ALL custom meta fields |
| What\'s unique on the clone | ID, slug (with -copy-N suffix), status (draft), dates (current timestamp) |
| Can be used in |
Real example
Your editorial team publishes "Weekly Roundup" every Monday — same structure, different content. Without this command, the writer opens last week's post, copies the block structure, and manually recreates it in a new post. With duplicate post -post_id=1205, last week's post clones as an instant draft — writer just updates the content.