Why You Need It
The WordPress Media Library doesn’t have a built-in batch download feature. Bulk Media Download fills this gap by packaging selected files into a ZIP.
How to Enable this Feature
Step 1: Navigate to Settings
Click into the Classic Monks plugin settings, then the Performance tab, Media Enhancements subtab.
Step 2: Enable the Feature
Toggle on the feature.
Step 3: Save and Test
Click Save Changes. Test on the frontend.
Common Use Cases
Project asset backup
Download all images from a project before archiving the project.
Client delivery
Package and send media assets to a client as a ZIP file.
Troubleshooting
The feature is not taking effect
Cause: The toggle is off, or a caching plugin is serving the old page.
Fix: Verify the toggle is on. Clear all caching layers.
The feature breaks another plugin
Cause: Another plugin depends on the functionality that this feature disables.
Fix: Disable this feature if it breaks another plugin.
Developer integration
This feature registers 5 WordPress hooks in bulk-media-download.php:
Actions:
admin_noticescallscm_bulk_download_admin_notices()(Shows download progress/completion notice)wp_ajax_cm_get_bulk_download_progresscallscm_ajax_get_bulk_download_progress()(AJAX handler for download progress)cm_cleanup_temp_filescallscm_cleanup_bulk_download_zips()(Cleans up temporary ZIP files)
Filters:
bulk_actions-uploadcallscm_add_bulk_download_actions()(Adds Bulk Download to upload bulk actions)handle_bulk_actions-uploadcallscm_handle_bulk_download_actions()(Processes bulk download requests (priority 10))
// Hooked in bulk-media-download.php
add_filter( 'bulk_actions-upload', 'cm_add_bulk_download_actions' );
The feature modifies WordPress behavior by registering or removing hooks. Disabling it reverses those changes and WordPress returns to its default behavior.
Before you enable this feature
- Test on staging first to verify no conflicts with your theme or other plugins
- Check dependent plugins that may rely on the functionality being modified
- Monitor after enabling for any unexpected behavior on the frontend
How it works under the feature
This feature runs during the WordPress initialization phase. When enabled, its PHP code registers hooks that modify specific WordPress behaviors. The changes are non-destructive and reversible.
No database schema changes are made. The feature state is stored as a boolean value in the wp_options table and can be toggled at any time from the admin settings.