{"id":258089,"date":"2025-11-04T02:09:48","date_gmt":"2025-11-04T02:09:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/menuitem-copy-paste\/"},"modified":"2026-06-01T03:20:22","modified_gmt":"2026-06-01T03:20:22","slug":"menuitem-copy-paste","status":"publish","type":"plugin","link":"https:\/\/hr.wordpress.org\/plugins\/menuitem-copy-paste\/","author":23302175,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.3","stable_tag":"1.1.3","tested":"7.0","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"MenuItem Copy & Paste","header_author":"sarap422","header_description":"WordPress\u306e\u30e1\u30cb\u30e5\u30fc\u7de8\u96c6\u753b\u9762\u3067\u9805\u76ee\u306e\u30b3\u30d4\u30fc\u3001\u30da\u30fc\u30b9\u30c8\u3001\u8907\u88fd\u3001\u524a\u9664\u3092\u7c21\u5358\u306b\u884c\u3048\u307e\u3059","assets_banners_color":"","last_updated":"2026-06-01 03:20:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":20,"downloads":479,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.6":{"tag":"1.0.6","author":"sarap422","date":"2025-11-04 02:10:06"},"1.0.7":{"tag":"1.0.7","author":"sarap422","date":"2026-05-20 07:39:41"},"1.1.1":{"tag":"1.1.1","author":"sarap422","date":"2026-06-01 00:35:03"},"1.1.2":{"tag":"1.1.2","author":"sarap422","date":"2026-06-01 03:05:04"},"1.1.3":{"tag":"1.1.3","author":"sarap422","date":"2026-06-01 03:20:22"}},"upgrade_notice":{"1.1.3":"<p>Adds a safety guard: a missing plugin file now shows an admin notice instead of a fatal error. Recommended update.<\/p>","1.1.2":"<p>Critical fix: 1.1.1 was published with missing files and failed to activate. Update to 1.1.2 to restore functionality. No feature changes.<\/p>","1.1.1":"<p>Maintenance release: WordPress 7.0 compatibility header and coding-standards hardening of AJAX nonce checks. No functional changes.<\/p>","1.1.0":"<p>Adds shortcode support in menu items, whole-menu duplication, and per-menu JSON export\/import (with slug-based re-resolution for cross-site migration).<\/p>","1.0.7":"<p>Added a collapse\/fold feature for parent menu items. Manage large menus more efficiently by hiding child items under their parents. State persists across reloads.<\/p>","1.0.6":"<p>New creation, cloning, and deletion features added. Menu editing is now even more efficient. Security and code quality improvements included.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.6","1.0.7","1.1.1","1.1.2","1.1.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3556023,"resolution":"1","location":"assets","locale":"","width":1200,"height":630},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3556023,"resolution":"2","location":"assets","locale":"","width":1200,"height":630},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3556023,"resolution":"3","location":"assets","locale":"","width":1200,"height":630},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3556096,"resolution":"4","location":"assets","locale":"","width":1200,"height":630},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3556096,"resolution":"5","location":"assets","locale":"","width":1200,"height":630},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3556096,"resolution":"6","location":"assets","locale":"","width":1200,"height":630},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3556096,"resolution":"7","location":"assets","locale":"","width":1200,"height":630},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3556096,"resolution":"8","location":"assets","locale":"","width":1200,"height":630}},"screenshots":{"1":"Five buttons added to the menu editing interface (New, Clone, Copy, Paste, Delete)","2":"Visual highlight of copied menu items","3":"Confirmation dialog when deleting"}},"plugin_section":[],"plugin_tags":[2814,2738,1865,1753,18126],"plugin_category":[43],"plugin_contributors":[243834],"plugin_business_model":[],"class_list":["post-258089","plugin","type-plugin","status-publish","hentry","plugin_tags-clone","plugin_tags-copy","plugin_tags-menu","plugin_tags-navigation","plugin_tags-paste","plugin_category-customization","plugin_contributors-sarap422","plugin_committers-sarap422"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/menuitem-copy-paste.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/menuitem-copy-paste\/assets\/screenshot-1.png?rev=3556023","caption":"Five buttons added to the menu editing interface (New, Clone, Copy, Paste, Delete)"},{"src":"https:\/\/ps.w.org\/menuitem-copy-paste\/assets\/screenshot-2.png?rev=3556023","caption":"Visual highlight of copied menu items"},{"src":"https:\/\/ps.w.org\/menuitem-copy-paste\/assets\/screenshot-3.png?rev=3556023","caption":"Confirmation dialog when deleting"},{"src":"https:\/\/ps.w.org\/menuitem-copy-paste\/assets\/screenshot-4.png?rev=3556096","caption":""},{"src":"https:\/\/ps.w.org\/menuitem-copy-paste\/assets\/screenshot-5.png?rev=3556096","caption":""},{"src":"https:\/\/ps.w.org\/menuitem-copy-paste\/assets\/screenshot-6.png?rev=3556096","caption":""},{"src":"https:\/\/ps.w.org\/menuitem-copy-paste\/assets\/screenshot-7.png?rev=3556096","caption":""},{"src":"https:\/\/ps.w.org\/menuitem-copy-paste\/assets\/screenshot-8.png?rev=3556096","caption":""}],"raw_content":"<!--section=description-->\n<p>MenuItem Copy &amp; Paste enhances the WordPress menu editing interface by adding five quick action buttons to each menu item, making menu management significantly more efficient.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>\u2795 New<\/strong>: Instantly create a new custom link below the selected menu item<\/li>\n<li><strong>\ud83d\udcd2 Clone<\/strong>: Duplicate a menu item immediately below itself<\/li>\n<li><strong>\ud83d\udd17 Copy<\/strong>: Copy menu item data to clipboard with visual highlight<\/li>\n<li><strong>\ud83d\udccb Paste<\/strong>: Paste copied items at the desired position<\/li>\n<li><strong>\ud83d\uddd1\ufe0f Delete<\/strong>: Remove menu items without opening accordions<\/li>\n<li><strong>\u25b2\u25bc Collapse<\/strong>: Fold\/unfold child menu items under a parent (state saved in localStorage)<\/li>\n<\/ul>\n\n<h4>Perfect For<\/h4>\n\n<ul>\n<li>Creating similar menu structures frequently<\/li>\n<li>Managing large numbers of menu items efficiently<\/li>\n<li>Quickly reorganizing menu layouts<\/li>\n<li>Editing menus without accordion interactions<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Simple and intuitive UI<\/li>\n<li>Delete items without page reload (with fade-out animation)<\/li>\n<li>Support for all menu item types (pages, posts, custom links, taxonomies, etc.)<\/li>\n<li>Accurate position calculation considering hierarchical structure<\/li>\n<li>Preserves all metadata (URL, classes, attributes, etc.)<\/li>\n<li>Uses WordPress standard Dashicons<\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<p>If you have any issues or feature requests, please let us know in the plugin support forum.<\/p>\n\n<h3>Development<\/h3>\n\n<p>This plugin will also be available on GitHub. Contributions and issue reports are welcome.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/menuitem-copy-paste<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to Appearance \u2192 Menus and start using the new buttons<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20wordpress%20versions%20are%20supported%3F\"><h3>Which WordPress versions are supported?<\/h3><\/dt>\n<dd><p>WordPress 5.0 or higher. Tested up to the latest version (7.0).<\/p><\/dd>\n<dt id=\"can%20deleted%20items%20be%20restored%3F\"><h3>Can deleted items be restored?<\/h3><\/dt>\n<dd><p>When you click the delete button, a confirmation dialog appears. Once deleted, items cannot be restored. However, if you don't click \"Save Menu\" in WordPress, you can reload the page to revert changes.<\/p><\/dd>\n<dt id=\"can%20i%20paste%20copied%20items%20to%20different%20menus%3F\"><h3>Can I paste copied items to different menus?<\/h3><\/dt>\n<dd><p>Yes. After copying a menu item, you can switch to a different menu and paste it there.<\/p><\/dd>\n<dt id=\"what%20are%20the%20default%20values%20for%20items%20created%20with%20the%20new%20button%3F\"><h3>What are the default values for items created with the New button?<\/h3><\/dt>\n<dd><p>Title: \"New Custom Link\", URL: \"\/\". You can edit these after creation by opening the accordion.<\/p><\/dd>\n<dt id=\"can%20i%20copy%20child%20menu%20items%3F\"><h3>Can I copy child menu items?<\/h3><\/dt>\n<dd><p>The current version copies individual menu items only. The Clone button duplicates only the selected item, excluding child hierarchies.<\/p><\/dd>\n<dt id=\"what%20if%20the%20buttons%20don%27t%20appear%3F\"><h3>What if the buttons don't appear?<\/h3><\/dt>\n<dd><p>Clear your browser cache. If they still don't appear, there may be a conflict with other plugins. Try temporarily disabling other plugins to identify the issue.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Resilience: the plugin now checks that its required <code>includes\/<\/code> files exist before loading. If any are missing, it shows an admin notice and stops safely instead of triggering a site-wide fatal error.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Packaging fix: the <code>includes\/<\/code> directory (item-actions, shortcode, tools, builder classes) and <code>js\/menuitem-menu-tools.js<\/code> were missing from the published package, causing a fatal error on activation (\"require_once ... class-menuitem-builder.php: No such file\"). Re-published with the complete file set. No code changes.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Updated \"Tested up to\" to WordPress 7.0<\/li>\n<li>Security\/coding-standards: made AJAX nonce verification explicit in each handler (menu duplicate\/export\/import) so it is visible to static analysis<\/li>\n<li>Documented JSON request handling for the paste and import endpoints (validated via json_decode and sanitized per-field)<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added Shortcode support: shortcodes now run in menu item URL, navigation label, and description (no extra metabox required; theme-defined shortcodes are executed)<\/li>\n<li>Added Duplicate Menu: clone an entire menu (hierarchy preserved) from the editor, next to \"Save Menu\"; auto-named \"{name}_copied\"<\/li>\n<li>Added per-menu JSON Export (\"Export Menu\" button, top-right of the menu editor)<\/li>\n<li>Added JSON Import (\"Import Menu\" button): rebuilds a menu as a new menu; page\/category items are re-resolved by slug on the target site, enabling cross-site migration of template menus<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Added Collapse feature: fold\/unfold child menu items under any parent menu item<\/li>\n<li>Collapse state is persisted per-menu in localStorage and restored on page reload<\/li>\n<li>Auto-expansion before drag to safely move parents with their descendants<\/li>\n<li>Toggle button auto-shows\/hides based on whether the item has children<\/li>\n<li>Adjusted button container width to accommodate the 6th button<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Added New feature: instantly create custom links below items<\/li>\n<li>Added Clone feature: duplicate menu items immediately below<\/li>\n<li>Added Delete feature: remove items without opening accordions<\/li>\n<li>Added visual highlight (blue background) for copied items<\/li>\n<li>Improved button tooltips with detailed descriptions<\/li>\n<li>Enhanced security: strengthened $_POST variable validation<\/li>\n<li>Improved code quality: compliance with WordPress Coding Standards<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Added accurate position calculation considering hierarchical structure<\/li>\n<li>Implemented recursive descendant retrieval<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Menu item copy &amp; paste functionality<\/li>\n<\/ul>","raw_excerpt":"Copy, paste, clone, delete &amp; collapse menu items, duplicate &amp; export\/import whole menus (JSON), and use shortcodes in menu items.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/258089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=258089"}],"author":[{"embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sarap422"}],"wp:attachment":[{"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=258089"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=258089"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=258089"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=258089"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=258089"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=258089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}