
Flexa Media Folders adds a hierarchical, drag-and-drop folder tree to the WordPress Media Library. Group images, videos, documents and any other attachment into nested folders, then filter the library to a single folder with one click – in the grid view, the list view, and the media picker inside the post editor.
Folders are stored in two dedicated, indexed database tables, so your wp_term* tables stay clean and the tree loads fast even with thousands of files.
upload.php), and the media modal in both the block editor and the Classic Editor..pot template is bundled./wp-json/flexa-mf/v1/, so external integrations and your own code can read and manage folders too.wp flexa-mf.wp flexa-mf reset) wipes all plugin data on demand; uninstalling the plugin drops its tables. Your media files are never touched.The plugin ships with minified/compiled JavaScript and CSS in assets/dist/. The human-readable source code for these assets is publicly available and maintained at:
https://github.com/flexatech/flexa-media-folders
The assets are built with pnpm and Vite. To build them from source:
pnpm installpnpm build (production build; the Vite config lives at apps/admin/vite.config.ts)Use pnpm dev for a watched development build.
All of your folders and media stay on your own site. The plugin connects to one external service, only in the admin area, for the single reason below.
When you go to deactivate Flexa Media Folders on the Plugins screen, a short optional survey asks why. It is served by Flexa’s product intelligence service at https://product-intelligence.flexacommerce.com. It runs only in the admin, on wp-admin/plugins.php, never on the front end, and never blocks or delays deactivation. What is sent, and when:
/api/v1/config (product slug and tier) to load the survey configuration. The response is cached for 6 hours./api/v1/deactivations, /api/v1/events, /api/v1/feedback, /api/v1/feature-requests and /api/v1/recovery-events.Every request includes an anonymous per-site identifier (a random UUID), the plugin version and tier, and by default your WordPress version, PHP version and locale. No email, site domain, user identity or raw IP is collected. To stop sending environment data, use add_filter( 'flexa_mf/deactivation_survey/config', function ( $c ) { return array( 'collect_environment' => false ) + $c; } );. To disable the survey entirely, use add_filter( 'flexa_mf/deactivation_survey/enabled', '__return_false' );.
Terms of Service: https://flexacommerce.com/pages/terms
Privacy Policy: https://flexacommerce.com/pages/privacy