Plugins / Pantry Duplicate
Pantry Duplicate
v1.0.0Contents: Copy any post, page or custom post type to a new draft.
18 KB, no external requests
A Duplicate link on every post list and a Copy to new draft button in the editor. The copy keeps the content, excerpt, taxonomies, featured image and custom fields, and lands as a draft with a prefix you choose. Fully free, no Pro version.
Compared with the popular plugins

What it does
- Duplicate row action on the list screen of every public post type, plus a bulk action
- Copy to new draft link in the classic editor publish box and in the block editor via a small sidebar plugin-free approach (an admin bar link on singular edit screens)
- Copies title, content, excerpt, taxonomies, featured image, menu order, page template, parent and custom fields
- Title prefix and suffix settings, default prefix Copy of
- Meta key exclusion list, with sensible defaults that skip editor locks and old slugs
- Choose which post types get the link and whether to copy the publish date
- Capability and nonce checks on every duplication; users can only copy what they can edit
What it does not do
- No scheduled or recurring duplication
- No cross-site copying
- No templates or merge fields
- No log table
Measured footprint
- Zip size
- 18 KB
- Lines of PHP
- 1,170
- Options
- pantry_duplicate_settings
- Post meta
- none
- Custom tables
- none
- Post types
- none
- Cron events
- none
- Transients
- none
- Admin assets
- includes/core/assets/pantry-admin.css on the settings screen only, includes/core/assets/pantry-admin.js on the settings screen only (shared Pantry core assets; this plugin ships no assets of its own)
- Front-end assets
- none
- External requests
- none
- Measured on
- 2026-09-12
Compatibility
- WordPress
- 6.4 or newer, tested to 7.1
- PHP
- 8.1 or newer
- Where it lives
- Settings > Pantry Duplicate
- Licence
- GPLv2 or later
Documentation
Copy any post, page or custom post type to a new draft.
Built to the Pantry Standard. Free, complete, no Pro version.
What it does
- A Duplicate row action on the list screen of every post type you enable, plus a matching bulk action.
- A Copy to new draft link in the classic editor publish box.
- A Copy to new draft link on the WordPress admin bar when editing a single post, page or custom post type. This is the block-editor route: it needs no editor JavaScript and works the same in both editors.
- The duplicate copies: title (with your prefix/suffix), content, excerpt, taxonomies (as term IDs, so hierarchical terms keep their exact assignment), featured image, menu order, page template, parent, and every custom field except the ones you exclude.
- The duplicate always lands as a draft, owned by the user who duplicated it.
What it does not do
- No scheduled or recurring duplication.
- No cross-site copying.
- No templates or merge fields.
- No log table. If you need a history of who duplicated what, that is a job for a separate plugin.
Usage
- Activate the plugin.
- Go to Settings > Pantry Duplicate.
- Choose which post types show the Duplicate link (defaults to Posts and Pages).
- Set a title prefix and/or suffix. The default prefix is "Copy of".
- Decide whether duplicates should keep the original publish date, or be dated from when they are created (the default).
- Add any custom field keys you never want copied, one per line. A few internal WordPress keys (
_edit_lock,_edit_last,_wp_old_slug,_wp_old_date) are always skipped, whether or not you list them. - On any enabled post type's list screen, use the Duplicate row action or select items and choose Duplicate from the Bulk actions menu. On a single item's edit screen, use Copy to new draft in the publish box (classic editor) or on the admin bar (either editor).
A duplication only ever copies what you already have permission to edit: WordPress' own edit_post capability check runs before anything is copied.
Settings reference
| Setting | Option key | Type | Default |
|---|---|---|---|
| Post types | post_types |
list of post type slugs | post, page |
| Title prefix | title_prefix |
text | Copy of |
| Title suffix | title_suffix |
text | (empty) |
| Copy publish date | copy_date |
checkbox | off |
| Meta keys to skip | excluded_meta_keys |
one per line | (empty; the four internal keys above are always skipped in addition to this list) |
All settings live in the single option pantry_duplicate_settings.
Filters and actions
This release adds no filters or actions of its own beyond the ones WordPress core already exposes for row actions, bulk actions and the admin bar (post_row_actions, page_row_actions, bulk_actions-edit-{post_type}, handle_bulk_actions-edit-{post_type}, post_submitbox_misc_actions, admin_bar_menu), which this plugin hooks into rather than defines.
Support
Pro add-on (planned)
See Pantry Pro pricingThere is no Pro version of this plugin and none is planned. It is complete.
Changelog
All notable changes to this project are documented in this file, in the Keep a Changelog format.
1.0.0 - 2026-09-12
Added
- Duplicate row action on the list screen of every enabled public post type, plus a matching bulk action.
- Copy to new draft link in the classic editor publish box, and an admin-bar link on singular edit screens that works for both the classic and block editors.
- Duplicates copy title, content, excerpt, taxonomies, featured image, menu order, page template, parent and custom fields.
- Settings screen: title prefix and suffix, whether to copy the publish date, which post types get the link, and a list of meta keys to skip.
- Capability and nonce checks on every duplication; a user can only copy posts they can edit.