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 tp duplicate 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.
Shown in advanced mode, where commands start with tp. In easy mode you type the same command without the tp prefix.
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 |
|---|---|
-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 tp duplicate post -id=1205, last week's post clones as an instant draft, writer just updates the content.
Goes further with TrueCommander
Frequently asked questions
tp duplicate post -id=123 creates a complete draft copy with all of that preserved.