DOCUMENTATION

Revolutionary Folders Documentation

Organize your media library, posts and pages into real, nestable folders with drag-and-drop. This guide covers installation, building your tree, bulk moves, per-user folders, and the developer hooks for shaping defaults.

Getting started

Install the plugin and create your first folder in two minutes.

Nesting & reordering

Build, re-parent and rename folders as deep as you like.

Bulk move & filter

Move many files at once and scope the library by folder.

Posts, pages & CPTs

Add a folder sidebar to any post type you choose.

Per-user & shared

Keep private trees or share a canonical structure.

Hooks & WP-CLI

Shape defaults in code and build folders from the terminal.

Introduction

Revolutionary Folders adds a folder tree to the parts of WordPress that need one most: the media library, the Posts and Pages screens, and any custom post type you choose. Instead of one flat, ever-growing grid, you get a familiar nestable sidebar you fill by dragging items in.

The most important thing to understand up front is that folders are virtual. They are an organizational layer stored in your database, not real directories on your server. When you drop an image into a folder, nothing moves on disk and no attachment URL changes, so every image you've already embedded keeps working. Deactivating the plugin leaves all your files exactly where they were.

Tip: Start with broad top-level folders that match how you think about content, such as Brand, Campaigns and Products, then nest as the need appears. A shallow tree you maintain beats a deep one you abandon.

Installation

Revolutionary Folders installs like any standard WordPress plugin. You can install it from the bundled .zip archive or directly from the Revolutionary Plugins hub.

  1. Upload the plugin. In your WordPress admin, go to Plugins -- Add New -- Upload Plugin and choose revolutionary-folders.zip. Click Install Now.
  2. Activate. Once installed, click Activate. A folder sidebar now appears on the Media -- Library screen.
  3. Choose where folders appear. Under Folders -- Settings, enable the post types you want to organize. Media is on by default; tick Posts, Pages or any CPT to add a folder tree there too.
  4. Verify your license. Paste your suite license key under Folders -- Settings -- License to unlock automatic updates, per-user folders, and priority support.

Heads up: The folder sidebar appears in the library's grid view. If your library is set to list view, switch to the grid icon at the top to see and use the folder tree.

Your first folder

Let's tame the media library by creating a folder and dropping a few files into it. The whole loop takes under two minutes.

  1. Open the library. Go to Media -- Library in grid view. The folder sidebar sits on the left, with All files selected at the top.
  2. Create a folder. Click + New folder at the bottom of the sidebar, type a name like Brand, and press Enter. The folder appears in the tree with a live count of zero.
  3. Drag files in. Click a thumbnail, or shift-click several, and drag the selection onto the Brand folder. Release, and the count updates immediately.
  4. Filter to it. Click the Brand folder. The library now shows only that folder's files. Click All files to clear the filter.
  5. Nest a subfolder. Right-click Brand and choose New subfolder, name it Logos, then drag your logo files in. You now have a two-level tree.

That's the full loop: create, drag, filter, nest. Everything else in this guide is a variation on those four moves.

Nesting & reordering

Folders nest as deep as you like. Build a structure that mirrors how your team thinks, then rearrange it any time without touching the files inside.

  • Create a subfolder: right-click any folder and choose New subfolder, or drag an existing folder onto another to re-parent it.
  • Reorder: drag a folder up or down within its level. The order you set is the order everyone sees.
  • Rename: double-click a folder name to edit it in place. Renaming never affects the files inside.
  • Collapse & expand: click the caret on any folder with children to fold a branch out of the way.

There is no nesting limit, but a tree three or four levels deep usually stays the most usable. You can re-parent a whole branch at once: dragging a folder carries every subfolder and file it contains.

Bulk move & filter

Moving a single file is a drag. Moving fifty is the same drag. Select a range with shift-click or pick individual items with cmd/ctrl-click, then drag the whole selection onto a folder. A floating chip shows the count as you move.

  • Multi-select: shift-click selects a contiguous range, cmd/ctrl-click toggles individual items.
  • Drop to move: drag the selection onto any folder in the sidebar; the count and the source folder both update live.
  • Filter, then search: click a folder to scope the library to it, then use the search box to find within that folder only.
  • Uncategorized view: a built-in filter surfaces every item not yet in a folder, so you can clear the backlog.
Action How Result
Move one file Drag a thumbnail onto a folder File is filed; URL unchanged
Move a batch Shift-click a range, then drag All selected items move together
Filter library Click a folder in the sidebar Grid shows that folder only
Find unsorted Click the Uncategorized filter Lists every item not in a folder
Remove from folder Drag back to All files Item un-filed; nothing deleted

Tip: Dragging a file to All files un-files it without deleting anything. To actually delete media, use WordPress's normal delete, folders never touch the underlying attachment.

Inside the media modal

Folders aren't confined to the library screen. The same tree appears in the media modal, the panel that opens when you click Add Media, set a featured image, or build a gallery. Filter to a folder, pick your asset, and insert it without scrolling past hundreds of unrelated files.

  • Block editor: the folder sidebar appears in the image, gallery and featured-image pickers.
  • Page builders: any builder that opens the standard WordPress media frame gets the sidebar automatically, including Elementor and Beaver Builder.
  • Sticky filter: the folder you last picked stays selected as you move between insert flows in the same session.

Because the modal reuses the core media frame, there is nothing to configure. If a builder opens the native picker, the folder tree is there.

Posts, pages & CPTs

Enable folders for any post type under Folders -- Settings and a folder sidebar plus a Folder column appear on that type's list screen. This is the cleaner alternative to inventing a private category taxonomy just to keep the editor organized.

  • Folder column: see at a glance which folder each post or page belongs to.
  • Bulk move: select rows with the checkboxes, choose Move to folder from Bulk Actions, and pick a destination.
  • Quick filter: click a folder in the sidebar to filter the list to it, the same way the media library works.
  • CPT support: products, portfolio items, docs, any registered post type can opt in.

Note: Content folders are purely an admin organizing tool. They are not taxonomies and never appear on the front end, so they won't show up in archives, menus, or your theme's category lists.

Per-user & shared folders

By default, folders are per-user, so each editor builds and sees their own tree. A teammate's "Drafts 2026" folder never clutters your sidebar, and your structure never gets reorganized out from under you.

When a team needs a single source of truth, switch a folder to shared. Shared folders are visible to everyone with access to that post type and can be edited collaboratively. You can mix the two: keep personal working folders private while sharing the canonical Brand and Products trees.

Mode Who sees it Best for
Per-user Only the user who created it Personal working sets, drafts, scratch organizing
Shared Everyone with access to the post type Brand assets, product photos, team-wide structure

Access to manage shared folders respects WordPress capabilities. Set the default mode for new folders, and which roles may create shared ones, under Folders -- Settings -- Permissions.

Hooks & filters

Developers can shape folder behavior with standard WordPress filters and actions. The most common need is seeding a default folder for fresh installs or per-role onboarding. Use the revfolders_default_folder filter to set which folder new uploads land in when no folder is selected:

add_filter( 'revfolders_default_folder', function( $folder_id, $user_id, $post_type ) {
    if ( 'attachment' === $post_type ) {
        return revfolders_get_id_by_name( 'Unsorted' );
    }
    return $folder_id;
}, 10, 3 );

Use the revfolders_post_types filter to register a custom post type for folders in code, instead of toggling it in settings:

add_filter( 'revfolders_post_types', function( $types ) {
    $types[] = 'portfolio';
    return $types;
} );

And the revfolders_item_moved action fires whenever an item changes folders, handy for logging or syncing to an external DAM. Other useful hooks include revfolders_before_delete_folder, revfolders_user_can_share, and revfolders_tree.

WP-CLI

For migrations and bulk setup, Revolutionary Folders ships WP-CLI commands so you can build and fill folders without clicking. Create a folder, then move matching attachments into it in one pass:

# Create a top-level folder and a nested child
wp revfolders create "Brand"
wp revfolders create "Logos" --parent="Brand"

# Move every PNG uploaded before 2024 into "Logos"
wp revfolders move --folder="Logos" --mime=image/png --before=2024-01-01

# List the full tree with item counts
wp revfolders tree

Every command supports --user to target a specific user's per-user tree, and the standard --dry-run flag so you can preview a bulk move before committing it.

Troubleshooting

Most issues come down to view mode or caching. Work through these first:

  • No folder sidebar: the tree only shows in the library's grid view. Switch from list to grid using the icons at the top of Media -- Library.
  • Folders missing for posts/pages: enable that post type under Folders -- Settings. Media is on by default, content types are opt-in.
  • Counts look stale: a page cache or object cache can serve an old tree. Clear your cache, the counts recalculate on the next load.
  • Folder not in the media modal: confirm the builder opens the native WordPress media frame. Builders with a fully custom picker bypass the core frame and won't show the sidebar.
  • Drag does nothing: usually a JavaScript conflict from another plugin. Check the browser console and disable other plugins one at a time to isolate it.

Tip: If your tree ever looks out of sync, run wp revfolders recount to rebuild every folder's item count from scratch. It's safe to run any time and never touches the files themselves.

FAQ

Frequently asked questions

No. Folders are a virtual organizing layer stored in the database. No file moves on disk and no attachment URL changes, so every embedded image keeps working exactly as before.

No. You can create unlimited folders and nest them as deep as you like. In practice a tree three or four levels deep stays the most usable, but the plugin imposes no cap.

Never. Folders are an admin-only organizing tool. They are not taxonomies, so they don't appear in front-end archives, menus, or your theme's category lists.

Your media and content are untouched, because folders never moved anything. The structure is stored separately and reappears intact the moment you reactivate.

Yes. Folders are per-user by default, so each editor keeps a private tree. When you want a single shared structure, switch specific folders to shared and the whole team works from the same one.

Was this helpful?

Browse the rest of the documentation or see what is included in each plan.

Back to all docs