Skip to content
Plugin PantryPlugins

Plugins / Pantry Duplicate

Plugin Pantry

Pantry Duplicate

v1.0.0

Contents: 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

The Pantry Duplicate settings screen in the WordPress admin, at Settings > Pantry Duplicate.

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

  1. Activate the plugin.
  2. Go to Settings > Pantry Duplicate.
  3. Choose which post types show the Duplicate link (defaults to Posts and Pages).
  4. Set a title prefix and/or suffix. The default prefix is "Copy of".
  5. Decide whether duplicates should keep the original publish date, or be dated from when they are created (the default).
  6. 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.
  7. 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

https://thepluginpantry.com/support

Pro add-on (planned)

See Pantry Pro pricing

There 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.