{"id":266069,"date":"2026-04-17T15:49:33","date_gmt":"2026-04-17T15:49:33","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/frontend-file-explorer\/"},"modified":"2026-04-17T15:49:07","modified_gmt":"2026-04-17T15:49:07","slug":"frontend-file-explorer","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/frontend-file-explorer\/","author":23412450,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.5","stable_tag":"1.0.5","tested":"6.9.4","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"Frontend File Explorer","header_author":"Shafat Mahmud Khan","header_description":"A modern file management system with Windows Explorer-like UI for WordPress","assets_banners_color":"759fc8","last_updated":"2026-04-17 15:49:07","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/itsmeshafat.com","header_plugin_uri":"https:\/\/itsmeshafat.com\/plugins\/frontend-file-explorer","header_author_uri":"https:\/\/itsmeshafat.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":145,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"itsmeshafat","date":"2026-04-17 15:49:07"},"1.0.1":{"tag":"1.0.1","author":"itsmeshafat","date":"2026-04-17 15:49:07"},"1.0.2":{"tag":"1.0.2","author":"itsmeshafat","date":"2026-04-17 15:49:07"},"1.0.3":{"tag":"1.0.3","author":"itsmeshafat","date":"2026-04-17 15:49:07"},"1.0.4":{"tag":"1.0.4","author":"itsmeshafat","date":"2026-04-17 15:49:07"},"1.0.5":{"tag":"1.0.5","author":"itsmeshafat","date":"2026-04-17 15:49:07"}},"upgrade_notice":{"1.0.5":"<p>This release includes important security improvements and coding standards updates. No manual action is required.<\/p>","1.0.4":"<p>This release includes security enhancements for file upload handling. No manual action is required.<\/p>","1.0.3":"<p>This is a major security release addressing multiple vulnerabilities. Please update immediately. No manual action is required.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3509060,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3509060,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3509060,"resolution":"1","location":"assets","locale":"","width":2560,"height":1162},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3509060,"resolution":"2","location":"assets","locale":"","width":2560,"height":1194},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3509060,"resolution":"3","location":"assets","locale":"","width":2560,"height":1195},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3509060,"resolution":"4","location":"assets","locale":"","width":2544,"height":1165},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3509060,"resolution":"5","location":"assets","locale":"","width":2560,"height":1156}},"screenshots":{"1":"Admin file explorer with folders, uploads, and toolbar actions (backend).","2":"Frontend file explorer embedded via shortcode (frontend view)."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5440,8848,88,2250,233],"plugin_category":[],"plugin_contributors":[260466],"plugin_business_model":[],"class_list":["post-266069","plugin","type-plugin","status-publish","hentry","plugin_tags-downloads","plugin_tags-file-manager","plugin_tags-files","plugin_tags-frontend","plugin_tags-media-library","plugin_contributors-itsmeshafat","plugin_committers-itsmeshafat"],"banners":{"banner":"https:\/\/ps.w.org\/frontend-file-explorer\/assets\/banner-772x250.png?rev=3509060","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/frontend-file-explorer\/assets\/icon-128x128.png?rev=3509060","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/frontend-file-explorer\/assets\/screenshot-1.png?rev=3509060","caption":"Admin file explorer with folders, uploads, and toolbar actions (backend)."},{"src":"https:\/\/ps.w.org\/frontend-file-explorer\/assets\/screenshot-2.png?rev=3509060","caption":"Frontend file explorer embedded via shortcode (frontend view)."},{"src":"https:\/\/ps.w.org\/frontend-file-explorer\/assets\/screenshot-3.png?rev=3509060","caption":""},{"src":"https:\/\/ps.w.org\/frontend-file-explorer\/assets\/screenshot-4.png?rev=3509060","caption":""},{"src":"https:\/\/ps.w.org\/frontend-file-explorer\/assets\/screenshot-5.png?rev=3509060","caption":""}],"raw_content":"<!--section=description-->\n<p>Frontend File Explorer is a modern, Windows Explorer\u2013inspired file manager for WordPress. It gives you a clean admin interface to organize and share files plus a responsive frontend explorer powered by a simple shortcode.<\/p>\n\n<p>Use it to create download areas for courses, client file portals, or resource libraries \u2014 without relying on heavy external file management tools.<\/p>\n\n<p>The plugin provides a seamless experience for both administrators and frontend users:<\/p>\n\n<ul>\n<li><strong>Explorer-style UI:<\/strong> Navigate with breadcrumbs, toolbar actions, pagination, and Material Icons.<\/li>\n<li><strong>Dedicated Directory:<\/strong> Files are stored in a secured <code>wp-content\/uploads\/downloads<\/code> directory.<\/li>\n<li><strong>Admin Management:<\/strong> Create folders, upload files, delete items, and download ZIPs directly from the admin dashboard.<\/li>\n<li>Frontend Integration: Embed the explorer anywhere using the <code>[frontend_file_explorer]<\/code> shortcode.<\/li>\n<li><strong>AJAX-Powered:<\/strong> Fast, smooth navigation and pagination without page reloads.<\/li>\n<li><strong>Translation Ready:<\/strong> Fully localized with the <code>frontend-file-explorer<\/code> text domain.<\/li>\n<\/ul>\n\n<p><strong>How to use the Explorer:<\/strong><\/p>\n\n<ul>\n<li><p><strong>Admin Interface:<\/strong> \nNavigate to <strong>File Upload<\/strong> in your WordPress admin sidebar. From this dedicated dashboard, administrators can create nested folders, upload bulk files (featuring multi-select and drag-and-drop), import existing Media Library assets, delete items, and download entire directories as ZIP archives.<\/p><\/li>\n<li><p><strong>Frontend Shortcode:<\/strong> \nEmbed the user-facing explorer interface on any Page, Post, or Custom Post Type using the following shortcode setup:<\/p>\n\n<pre><code>[frontend_file_explorer]\n<\/code><\/pre>\n\n<p><em>(Renders the explorer starting at the root storage directory)<\/em><\/p>\n\n<p><strong>Advanced Shortcode Usage:<\/strong>\nYou can explicitly define the starting folder path relative to the root <code>uploads\/downloads<\/code> directory by using the <code>folder<\/code> attribute:<\/p>\n\n<pre><code>[frontend_file_explorer folder=\"\/course-materials\"]\n[frontend_file_explorer folder=\"\/clients\/acme-corp\"]\n<\/code><\/pre>\n\n<ul>\n<li><strong>Frontend Capabilities:<\/strong> Visitors browsing the frontend can view contents, click files to download them, and copy direct sharing links.<\/li>\n<li><strong>Security:<\/strong> Destructive or mutating actions (like file upload, folder creation, or deletion) remain strictly hidden and blocked from public visitors. They are only accessible to logged-in users who possess the WordPress <code>upload_files<\/code> capability.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p><strong>Who is this plugin for?<\/strong><\/p>\n\n<ul>\n<li>Course creators who need a simple, branded downloads area.<\/li>\n<li>Agencies and freelancers who share files with clients.<\/li>\n<li>Site owners who want a lightweight, Explorer-like file manager in WordPress.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Installation from within WordPress<\/h4>\n\n<ol>\n<li>Visit <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Search for <strong>Frontend File Explorer<\/strong>.<\/li>\n<li>Install and activate the Frontend File Explorer plugin.<\/li>\n<li>On activation, the plugin will create <code>wp-content\/uploads\/downloads<\/code>.<\/li>\n<\/ol>\n\n<h4>Manual installation<\/h4>\n\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Visit <strong>Plugins<\/strong>.<\/li>\n<li>Activate the Frontend File Explorer plugin.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20point%20the%20explorer%20to%20a%20different%20base%20folder%3F\"><h3>Can I point the explorer to a different base folder?<\/h3><\/dt>\n<dd><p>Yes. You can override the constants in a custom mu-plugin before File Explorer loads, or use filters\/hooks (e.g. on <code>wp_loaded<\/code>) to adjust the base path\/URL. This is an advanced customization and should be done carefully.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20in%20multisite%3F\"><h3>Does the plugin work in multisite?<\/h3><\/dt>\n<dd><p>Yes. Each site manages its own <code>uploads\/downloads<\/code> directory. You can network-activate the plugin for consistency across sites.<\/p><\/dd>\n<dt id=\"are%20file%20types%20restricted%3F\"><h3>Are file types restricted?<\/h3><\/dt>\n<dd><p>By default, allowed file types are defined via options during activation. You can adjust the allowed extensions by updating the plugin options (e.g., <code>file_explorer_allowed_file_types<\/code>).<\/p><\/dd>\n<dt id=\"how%20do%20i%20translate%20the%20ui%3F\"><h3>How do I translate the UI?<\/h3><\/dt>\n<dd><p>The plugin is fully localization-ready and uses the <code>frontend-file-explorer<\/code> text domain. You can use tools like Loco Translate or Poedit to create translations and drop <code>.mo<\/code> files in the <code>languages\/<\/code> directory.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.5<\/h4>\n\n<ul>\n<li><strong>Security:<\/strong> Added comprehensive array structure validation for <code>$_FILES<\/code> superglobal before accessing elements.<\/li>\n<li><strong>Security:<\/strong> Moved <code>is_uploaded_file()<\/code> validation to immediately after accessing tmp_name for improved security.<\/li>\n<li><strong>Security:<\/strong> Removed PHPCS ignore comment and implemented proper sanitization for file upload handling.<\/li>\n<li><strong>Standards:<\/strong> Replaced <code>$_REQUEST<\/code> with <code>$_POST<\/code> for AJAX POST requests per WordPress coding standards.<\/li>\n<li><strong>Standards:<\/strong> Replaced PHP <code>basename()<\/code> with WordPress <code>wp_basename()<\/code> for i18n compatibility with multibyte characters.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li><strong>Security:<\/strong> Sanitized and validated all <code>$_FILES<\/code> upload fields individually (name, type, tmp_name, error, size).<\/li>\n<li><strong>Security:<\/strong> Added <code>is_uploaded_file()<\/code> guard against path injection on file uploads.<\/li>\n<li><strong>Standards:<\/strong> Fixed unordered placeholders in translatable strings per WordPress i18n guidelines.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li><strong>Security:<\/strong> Fixed unauthenticated file downloads, arbitrary PHP uploads, XSS via eval(), and server path disclosure.<\/li>\n<li><strong>Standards:<\/strong> Migrated all filesystem operations to WP_Filesystem API, bundled Material Icons locally, added proper nonce verification and capability checks to all AJAX endpoints.<\/li>\n<li><strong>Standards:<\/strong> Renamed classes to use WordPress underscore convention (Frontend_File_Explorer, Frontend_File_Explorer_Ajax).<\/li>\n<li><strong>Standards:<\/strong> Removed discouraged load_plugin_textdomain() call, added proper prefixing to all handles and identifiers.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li><strong>Fix:<\/strong> Resolved a critical bug causing the frontend explorer to execute filesystem deletion logic instead of listing directory contents.<\/li>\n<li><strong>Fix:<\/strong> Repaired the \"Download as ZIP\" mechanism to eliminate <code>ERR_INVALID_RESPONSE<\/code> failures by safely building ZipArchive temp files and explicitly managing PHP output buffers and Safari download headers.<\/li>\n<li><strong>Feature:<\/strong> Fully integrated the missing backend endpoints required for the UI, enabling seamless frontend and backend folder creation, file uploads, and Media Library imports.<\/li>\n<li><strong>Security &amp; Standards:<\/strong> Swept codebase for strict WordPress PHPCS warnings. Corrected all variable unslashing, resolved missing nonce verification checks, migrated deprecated filesystem functions to <code>WP_Filesystem<\/code>, and reinforced <code>esc_html__<\/code> translation domain strings and translators comments.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Rename plugin to \"Frontend File Explorer\"<\/li>\n<li>Align text domain and translation loading with slug <code>frontend-file-explorer<\/code><\/li>\n<li>Improve README and readme.txt descriptions and screenshots<\/li>\n<\/ul>","raw_excerpt":"A modern, Windows Explorer\u2013inspired file manager for WordPress with admin interface and frontend shortcode.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/266069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=266069"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/itsmeshafat"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=266069"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=266069"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=266069"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=266069"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=266069"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=266069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}