[wp-trac] [WordPress Trac] #64424: Add “Download” action for locally installed plugins in Plugins admin screen

WordPress Trac noreply at wordpress.org
Wed Dec 17 10:23:11 UTC 2025


#64424: Add “Download” action for locally installed plugins in Plugins admin screen
-----------------------------------+-----------------------------
 Reporter:  iflairwebtechnologies  |      Owner:  (none)
     Type:  enhancement            |     Status:  new
 Priority:  normal                 |  Milestone:  Awaiting Review
Component:  Plugins                |    Version:  trunk
 Severity:  normal                 |   Keywords:  needs-patch
  Focuses:                         |
-----------------------------------+-----------------------------
 Problem:
 WordPress currently allows downloading plugins only from wordpress.org.
 There is no way to download a ZIP of locally installed plugins (custom,
 premium,
 or modified plugins) directly from the Plugins admin screen.

 This is inconvenient for site owners and developers who need to:
 - Back up plugins
 - Transfer plugins between environments
 - Share custom plugins
 - Download modified versions

 Proposed solution:
 Add a "Download" row action to the Plugins admin list table that allows
 users
 with update_plugins capability to download a ZIP archive of the locally
 installed plugin.

 Behavior:
 - Works for both folder-based and single-file plugins
 - Generates ZIP from the local plugin directory/file
 - Uses nonces and capability checks
 - Available only to users with update_plugins capability
 - Does not affect plugin update or delete logic

 Implementation:
 - Adds a row action in WP_Plugins_List_Table::single_row()
 - Handles download via a secure admin action in wp-admin/plugins.php
 - Uses existing core ZIP utilities (PclZip)
 - No UI changes outside the Plugins list table

 Why core:
 This functionality cannot be reliably implemented in a plugin or theme,
 as it requires:
 - Access to internal plugin list table rendering
 - Secure handling before admin output
 - Consistent behavior across all plugin types

 I am happy to provide a patch and iterate based on feedback.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/64424>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list