{"id":314528,"date":"2026-05-20T16:21:50","date_gmt":"2026-05-20T16:21:50","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/advanced-media-library-filters\/"},"modified":"2026-06-19T15:50:45","modified_gmt":"2026-06-19T15:50:45","slug":"levelnetwork-advanced-media-filters","status":"publish","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/levelnetwork-advanced-media-filters\/","author":23278737,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.7","stable_tag":"1.0.7","tested":"7.0","requires":"5.4","requires_php":"7.4","requires_plugins":null,"header_name":"Advanced Media Library Filters","header_author":"Level Network","header_description":"Extends the native WordPress Media Library with advanced filtering capabilities (Grid\/Modal and List views).","assets_banners_color":"96bfd6","last_updated":"2026-06-19 15:50:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.levelnetwork.it\/en\/plugin-advanced-media-library-filters.php","header_author_uri":"https:\/\/www.levelnetwork.it","rating":0,"author_block_rating":0,"active_installs":0,"downloads":256,"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":"sonofgod80","date":"2026-06-01 14:50:43"},"1.0.7":{"tag":"1.0.7","author":"sonofgod80","date":"2026-06-19 15:50:45"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3539691,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3539691,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3553265,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3553265,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3578917,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/upload.php\",\"preferredVersions\":{\"php\":\"8.1\",\"wp\":\"latest\"},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"importWxr\",\"file\":{\"resource\":\"url\",\"url\":\"https:\\\/\\\/plugins.svn.wordpress.org\\\/levelnetwork-advanced-media-filters\\\/assets\\\/blueprints\\\/media.xml\"}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"levelnetwork-advanced-media-filters\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["1.0.6","1.0.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3539691,"resolution":"1","location":"assets","locale":"","width":1682,"height":832},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3539721,"resolution":"2","location":"assets","locale":"","width":1679,"height":831},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3539691,"resolution":"3","location":"assets","locale":"","width":1681,"height":831},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3551218,"resolution":"4","location":"assets","locale":"","width":1185,"height":623}},"screenshots":{"1":"Main Media Library dashboard displaying the new advanced filter dropdowns in action.","2":"File format extension filters and file size range selection.","3":"Advanced image orientation options (Landscape, Portrait, Square) and Alt Text status filters.","4":"Plugin settings page featuring the \"Sync Media Data\" tool for legacy media files."}},"plugin_section":[],"plugin_tags":[267913,29161,233,231428,186],"plugin_category":[55],"plugin_contributors":[263723],"plugin_business_model":[],"class_list":["post-314528","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-media","plugin_tags-image-optimization","plugin_tags-media-library","plugin_tags-media-management","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-sonofgod80","plugin_committers-sonofgod80"],"banners":{"banner":"https:\/\/ps.w.org\/levelnetwork-advanced-media-filters\/assets\/banner-772x250.jpg?rev=3553265","banner_2x":"https:\/\/ps.w.org\/levelnetwork-advanced-media-filters\/assets\/banner-1544x500.jpg?rev=3553265","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/levelnetwork-advanced-media-filters\/assets\/icon-128x128.png?rev=3539691","icon_2x":"https:\/\/ps.w.org\/levelnetwork-advanced-media-filters\/assets\/icon-256x256.png?rev=3539691","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/levelnetwork-advanced-media-filters\/assets\/screenshot-1.png?rev=3539691","caption":"Main Media Library dashboard displaying the new advanced filter dropdowns in action."},{"src":"https:\/\/ps.w.org\/levelnetwork-advanced-media-filters\/assets\/screenshot-2.png?rev=3539721","caption":"File format extension filters and file size range selection."},{"src":"https:\/\/ps.w.org\/levelnetwork-advanced-media-filters\/assets\/screenshot-3.png?rev=3539691","caption":"Advanced image orientation options (Landscape, Portrait, Square) and Alt Text status filters."},{"src":"https:\/\/ps.w.org\/levelnetwork-advanced-media-filters\/assets\/screenshot-4.png?rev=3551218","caption":"Plugin settings page featuring the \"Sync Media Data\" tool for legacy media files."}],"raw_content":"<!--section=description-->\n<p>Is your WordPress Media Library becoming an unmanageable chaos? Whether you are managing an Enterprise portal with 50,000+ items or a content-rich blog, finding the right file shouldn't feel like a treasure hunt.<\/p>\n\n<p><strong>Advanced Media Library Filters<\/strong> streamlines your workflow by replacing basic media searching with a professional-grade filtering suite. Stop wasting time scrolling through thousands of images\u2014organize, clean, and optimize your assets in seconds.<\/p>\n\n<h3>Why Media Library Filters?<\/h3>\n\n<ul>\n<li><strong>Lightning-Fast Retrieval:<\/strong> Locate any file instantly by format, size, author, or resolution.<\/li>\n<li><strong>SEO-Driven Organization:<\/strong> Automatically identify images missing Alt Text, ensuring your site remains accessible and ranks higher on Google.<\/li>\n<li><strong>Disk Space Optimization:<\/strong> Effortlessly find \"Unattached\" (orphaned) media files that are wasting valuable server space.<\/li>\n<li><strong>Performance Focused:<\/strong> Built for speed. Our custom-indexed flag architecture ensures the plugin remains lightning-fast even on massive libraries.<\/li>\n<li><strong>Seamless Workflow:<\/strong> Everything is integrated directly into the WordPress core UI (Grid and List views). No external dashboards, no learning curve.<\/li>\n<\/ul>\n\n<h3>Key Features<\/h3>\n\n<p><strong>Smart Organization:<\/strong>\n* <strong>Cascading Format Filters:<\/strong> Drill down from broad categories (Images, Docs, Audio) to specific extensions (WebP, SVG, PDF, MP4).\n* <strong>Precision Size Filtering:<\/strong> Pinpoint files by weight with granular intervals, perfect for identifying assets that are slowing down your pages.<\/p>\n\n<p><strong>Professional Workflow:<\/strong>\n* <strong>Visual Orientation:<\/strong> Filter images by orientation (Landscape, Portrait, Square). Ideal for designers managing hero sections vs. profile columns.\n* <strong>Ownership Tracking:<\/strong> Track down uploads from specific team members or contributors.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin directly through the WordPress admin screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Go to <strong>Settings -&gt; Media Filters<\/strong> to configure your optional filters.<\/li>\n<li>(Optional) Click <strong>Sync Media Data<\/strong> once to generate metadata for your existing media library.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20are%20size%20and%20orientation%20filters%20not%20working%20for%20my%20older%20media%20files%3F\"><h3>Why are size and orientation filters not working for my older media files?<\/h3><\/dt>\n<dd><p>WordPress does not retroactively generate custom metadata for legacy files. For any media uploaded before installing this plugin, simply go to Settings -&gt; Media Filters and click the \"Sync Media Data\" button once. All your older attachments will be processed and indexed. New uploads are indexed automatically.<\/p><\/dd>\n<dt id=\"will%20the%20alt%20text%20filter%20slow%20down%20my%20large%20database%3F\"><h3>Will the Alt Text filter slow down my large database?<\/h3><\/dt>\n<dd><p>No. Thanks to the architecture introduced in version 1.0.7, we replaced heavy database queries with a high-performance custom indexed flag (<code>_levelnetwork_mlf_has_alt<\/code>). The plugin runs lightning-fast even on Enterprise websites with over 50,000+ media assets.<\/p><\/dd>\n<dt id=\"does%20the%20%22reset%20filters%22%20button%20trigger%20multiple%20server%20requests%3F\"><h3>Does the \"Reset Filters\" button trigger multiple server requests?<\/h3><\/dt>\n<dd><p>No. The reset mechanism is fully optimized for WordPress Backbone.js. It merges all filter resets into a single event loop, ensuring that only one lightweight AJAX request is sent to your server, keeping resource usage minimal.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20the%20metadata%20if%20i%20uninstall%20the%20plugin%3F\"><h3>What happens to the metadata if I uninstall the plugin?<\/h3><\/dt>\n<dd><p>We believe in clean code. If you delete the plugin, our custom <code>uninstall.php<\/code> routine automatically removes all indexed metadata keys and global options from your database. It is also fully compatible with object caching systems like Redis and Memcached, ensuring no phantom data is left behind.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20delete%20or%20alter%20my%20original%20physical%20files%3F\"><h3>Does this plugin delete or alter my original physical files?<\/h3><\/dt>\n<dd><p>Absolutely not. The plugin only reads file properties to generate search indexes within WordPress metadata. Your physical files, images, paths, and attachments remain completely untouched and safe.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.7<\/h4>\n\n<ul>\n<li><strong>Database Optimization:<\/strong> Replaced slow <code>NOT EXISTS<\/code> and empty string database operations for the Alt Text filter with a high-performance indexed flag (<code>_levelnetwork_mlf_has_alt<\/code>). Drastically improves response times on Enterprise websites with large media libraries (50k+ items).<\/li>\n<li><strong>UX Fix:<\/strong> Optimized the \"Reset Filters\" action in Grid View. Combined multiple sequential Backbone model updates into a single event loop to prevent duplicate, concurrent AJAX requests to the server.<\/li>\n<li><strong>Code Quality &amp; Compliance:<\/strong> Standardized <code>uninstall.php<\/code> to use native WordPress functions (<code>delete_post_meta_by_key<\/code>), ensuring full synchronization with object caching systems (Redis, Memcached) and complete cleanup of global plugin options upon deletion. Resolved WPCS global variable scoping warnings.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>New Feature: Added dynamic sub-format cascading filters.<\/li>\n<li>Enhancement: Sub-format filters are fully supported and synchronized in both Grid\/Modal View (AJAX) and standard List View.<\/li>\n<li>Bug Fix: Fixed a PHPCS security warning (<code>OutputNotEscaped<\/code>) by correctly implementing the native WordPress <code>disabled()<\/code> function for HTML attributes.<\/li>\n<li>Bug Fix: Cleaned up the plugin package by removing hidden macOS system files (<code>.DS_Store<\/code>) to strictly meet WordPress repository packaging guidelines.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Security improvements: Ensured thorough sanitization, escaping and unslashing of superglobals across the codebase.<\/li>\n<li>Filter queries improvements: Properly merged meta_query to prevent overwriting existing queries.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Added sizes &gt; 2 MB and &gt; 5 MB to the size filter.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Repositioned \"Bulk Select\" to properly stay at the end of the filters.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added Audio, Excel and TXT options to the Format Filter.<\/li>\n<li>Restructured Media Library toolbar to group all dropdowns sequentially, ensuring the \"Bulk Select\" button always appears last.<\/li>\n<li>Hid the redundant native WordPress media types filter when the plugin is active to prevent duplication.<\/li>\n<li>Emphasized and redesigned the \"Sync Existing Media\" notice in the backend to ensure users don't miss running it.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed size and dimensions filters for previously uploaded media.<\/li>\n<li>Implemented a \"Sync Media Data\" tool on the settings page to process existing attachments.<\/li>\n<li>Added a convenient \"Settings\" link in the Plugins page.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Take control of your WordPress media library with the most advanced filtering system for power users, SEO experts, and media-heavy websites.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/314528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=314528"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sonofgod80"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=314528"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=314528"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=314528"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=314528"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=314528"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=314528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}