Frontend File Explorer

ཞིབ་བརྗོད།

Frontend File Explorer turns WordPress into a modern, Windows Explorer–style file manager. Manage all your documents, media, and downloads from a clean admin dashboard — then embed a beautiful, mobile-friendly file explorer on any page with one shortcode.

No bloat. No page builder required. Works with every theme.

Why site owners choose Frontend File Explorer:

  • Explorer-style interface: Familiar breadcrumbs, toolbar, sorting, and pagination make organizing hundreds of files feel effortless.
  • Frontend file sharing: Embed a read-only file explorer on any page so visitors can browse folders and download files in one click.
  • Drag-and-drop uploads: Upload multiple files at once, or import existing files straight from your Media Library.
  • Folder management: Create unlimited nested folders, exactly like on your desktop.
  • ZIP downloads: Download an entire folder as a ZIP archive with a single click.
  • Copy direct links: Grab a shareable URL for any file instantly.
  • Secure by default: Visitors can browse and download, but uploading, editing, and deleting require the upload_files capability.
  • Dedicated storage: Files live in a dedicated wp-content/uploads/downloads directory, separate from your Media Library.
  • Fast AJAX navigation: Folder browsing without page reloads.
  • Translation ready: Fully localized with the frontend-file-explorer text domain.

Perfect for:

  • Course creators selling downloadable materials
  • Agencies delivering files to clients
  • Businesses publishing resource libraries, brochures, or documentation
  • Anyone who wants a clean, branded downloads page

How to use the Explorer:

  • Admin Interface:
    Navigate to File Upload in your WordPress admin sidebar. From this dedicated dashboard you can create nested folders, upload bulk files (multi-select and drag-and-drop), import existing Media Library assets, delete items, and download entire directories as ZIP archives.

  • Frontend Shortcode:
    Embed the user-facing explorer interface on any Page, Post, or Custom Post Type using the following shortcode setup:

    [frontend_file_explorer]
    

    (Renders the explorer starting at the root storage directory)

    Advanced Shortcode Usage:
    You can explicitly define the starting folder path relative to the root uploads/downloads directory by using the folder attribute:

    [frontend_file_explorer folder="/course-materials"]
    [frontend_file_explorer folder="/clients/acme-corp"]
    
    • Frontend Capabilities: Visitors can browse folders, download files, and copy direct sharing links.
    • Security: Mutating actions (upload, folder creation, deletion) are strictly hidden and blocked from public visitors — they are only accessible to logged-in users with the WordPress upload_files capability.

Support Development

If you find this plugin useful and want to support its continued development, consider buying me a coffee!

Your support helps keep the plugin maintained, secure, and free for everyone.

གཏུབ་རེིས།

སྒྲིག་འཇུག

Installation from within WordPress

  1. Visit Plugins > Add New.
  2. Search for Frontend File Explorer.
  3. Install and activate the plugin.
  4. On activation, the plugin creates the wp-content/uploads/downloads directory — start uploading right away.
  5. Add [frontend_file_explorer] to any page to publish your file explorer.

Manual installation

  1. Upload the plugin folder to the /wp-content/plugins/ directory.
  2. Visit Plugins.
  3. Activate the Frontend File Explorer plugin.

FAQ

Is Frontend File Explorer free?

Yes — the plugin is 100% free and open source (GPLv2+). Optional support contributions keep it maintained and secure.

Where are my files stored?

In a dedicated wp-content/uploads/downloads directory, kept separate from your Media Library. Back it up like any other uploads folder.

Can visitors upload or delete files?

No. Public visitors can only browse folders, download files, and copy file links. Uploading, creating folders, and deleting require a logged-in user with the upload_files capability (Administrators and Editors by default).

Can I show only a specific folder on a page?

Yes. Use the folder attribute: [frontend_file_explorer folder="/clients/acme-corp"] renders the explorer starting inside that folder.

Does it work with any theme or page builder?

Yes. The explorer is embedded via a standard WordPress shortcode, so it works with any theme and fits any shortcode-ready area — Gutenberg blocks, Elementor, widgets, and more.

Can visitors download an entire folder at once?

Yes. Any folder offers a one-click “Download as ZIP” action that bundles the whole directory on the fly.

Are file types restricted?

By default, allowed file types are defined via options set during activation. You can adjust the allowed extensions by updating the plugin options (e.g., frontend_file_explorer_allowed_file_types).

Does the plugin work in multisite?

Yes. Each site manages its own uploads/downloads directory. You can network-activate the plugin for consistency across sites.

How do I translate the UI?

The plugin is fully localization-ready and uses the frontend-file-explorer text domain. Use tools like Loco Translate or Poedit to create translations and drop .mo files in the languages/ directory.

How do I hide the author credits?

Open the plugin’s admin page and toggle Hide author credits in the Preferences card. Credits are removed from the DOM entirely — no CSS hacks.

Can I point the explorer to a different base folder?

Yes. You can override the constants in a custom mu-plugin before Frontend File Explorer loads, or use hooks to adjust the base path/URL. This is an advanced customization and should be done carefully.

གདེང་འཇོག

There are no reviews for this plugin.

བྱས་རྗེས་འཇོག་མཁན། & གསར་འབྱེད་པ།

“Frontend File Explorer” is open source software. The following people have contributed to this plugin.

བྱས་རྗེས་འཇོག་མཁན།

དག་བཅོས་ཉིན་ཐོ།

1.0.8

  • Feature: Added “Hide author credits” toggle (Settings panel) — removes credits from DOM when checked, dofollow attribution when visible.
  • Feature: Added Buy Me a Coffee support button on the admin page, Plugins screen, readme.txt, and README.md.
  • UI: Added a settings card below the shortcode panel with checkbox and support links.
  • Internal: Added plugin_row_meta filter for plugin action links, save_credits_preference AJAX endpoint, and frontend_file_explorer_hide_credits option.

1.0.7

  • Feature: Added server-side sorting for folder/file listings (Name, Date Modified, Size, Type, asc/desc).
  • Feature: Admin can set a default sort order that persists for frontend visitors.
  • Feature: Added shortcode reference panel with copyable code snippets below the admin explorer.
  • Feature: Frontend explorer now respects the admin-configured default sort order.
  • UI: Modernized shortcode & tips card with dark code blocks, hover effects, tooltip copy feedback.

1.0.6

  • UI: Redesigned admin interface with modern styling, CSS custom properties, card-based grid, smoother transitions, and responsive layouts.
  • UI: Replaced browser alerts with styled toast notifications for success/error messages.
  • UI: Added file-type color coding for PDFs, Word docs, Excel files, and archives.
  • UI: Improved modal design with backdrop blur, scale animation, and Escape-key dismissal.
  • Fix: Fixed broken CSS asset paths preventing Material Icons and all styles from loading.
  • Fix: Fixed Material Icons font URL resolution in bundled stylesheet.
  • Fix: Fixed duplicate element ID causing toolbar button text to disappear on upload modal open.
  • Fix: Fixed infinite recursion crash when clicking upload dropzone.
  • Fix: Fixed “Upload Files” button incorrectly opening Media Library instead of the upload modal.
  • Fix: Fixed ZIP download failing with “No path specified” (GET vs POST mismatch).
  • Fix: Fixed trailing comma syntax error in admin JavaScript class method.

1.0.5

  • Security: Added comprehensive array structure validation for $_FILES superglobal before accessing elements.
  • Security: Moved is_uploaded_file() validation to immediately after accessing tmp_name for improved security.
  • Security: Removed PHPCS ignore comment and implemented proper sanitization for file upload handling.
  • Standards: Replaced $_REQUEST with $_POST for AJAX POST requests per WordPress coding standards.
  • Standards: Replaced PHP basename() with WordPress wp_basename() for i18n compatibility with multibyte characters.

1.0.4

  • Security: Sanitized and validated all $_FILES upload fields individually (name, type, tmp_name, error, size).
  • Security: Added is_uploaded_file() guard against path injection on file uploads.
  • Standards: Fixed unordered placeholders in translatable strings per WordPress i18n guidelines.

1.0.3

  • Security: Fixed unauthenticated file downloads, arbitrary PHP uploads, XSS via eval(), and server path disclosure.
  • Standards: Migrated all filesystem operations to WP_Filesystem API, bundled Material Icons locally, added proper nonce verification and capability checks to all AJAX endpoints.
  • Standards: Renamed classes to use WordPress underscore convention (Frontend_File_Explorer, Frontend_File_Explorer_Ajax).
  • Standards: Removed discouraged load_plugin_textdomain() call, added proper prefixing to all handles and identifiers.

1.0.2

  • Fix: Resolved a critical bug causing the frontend explorer to execute filesystem deletion logic instead of listing directory contents.
  • Fix: Repaired the “Download as ZIP” mechanism to eliminate ERR_INVALID_RESPONSE failures by safely building ZipArchive temp files and explicitly managing PHP output buffers and Safari download headers.
  • Feature: Fully integrated the missing backend endpoints required for the UI, enabling seamless frontend and backend folder creation, file uploads, and Media Library imports.
  • Security & Standards: Swept codebase for strict WordPress PHPCS warnings. Corrected all variable unslashing, resolved missing nonce verification checks, migrated deprecated filesystem functions to WP_Filesystem, and reinforced esc_html__ translation domain strings and translators comments.

1.0.1

  • Rename plugin to “Frontend File Explorer”
  • Align text domain and translation loading with slug frontend-file-explorer
  • Improve README and readme.txt descriptions and screenshots