Shelfwright Pro

Media Library folders with AI sorting · version 1.0.9

1. Install

  1. In WordPress, go to Plugins → Add New → Upload Plugin and upload the plugin zip as it is (do not unpack it): shelfwright-pro-1.0.9-marketplace.zip from WPBay, Pluggable, PlugNest or CodeGrape, or shelfwright-pro-1.0.9.zip from Gumroad. From itch.io or Payhip you get shelfwright-pro-1.0.9-package.zip: unpack that one first, and upload the shelfwright-pro-1.0.9.zip inside it.
  2. Click Activate. If the free Shelfwright plugin is installed, Pro takes over automatically and keeps every folder.
  3. Open Media → Library. The folder tree is on the left.

Requirements: WordPress 6.5 or later and PHP 7.4 or later. AI sorting needs a current Chrome, Edge or Firefox on the computer that runs it.

2. Licence key and updates

Bought on a marketplace: no key needed

If you bought Shelfwright Pro on WPBay, Pluggable, PlugNest, CodeGrape, itch.io or Payhip, you have the marketplace build. It needs no licence key: every Pro feature is active as soon as you activate the plugin, and it never contacts a licence server.

Updates: the marketplace makes new versions available in your account (on WPBay under My Account → My Downloads; on Payhip through the link in your receipt). Upload the new zip under Plugins → Add New → Upload Plugin and click Replace current with uploaded. Your folders and settings are kept.

Bought on Gumroad: enter your licence key

Go to Settings → Media, find Shelfwright Pro in the Folders section, paste the key from your Gumroad receipt and click Activate. A 1-site licence can be activated twice, so you can move a site without asking us; the 10-site licence works the same way for ten sites.

For Gumroad licences: if a licence ends, all folders keep working, and so do drag and drop, uploads into folders, the editor filter, galleries and imports. AI sorting, colours and ZIP downloads pause until the licence is renewed. Marketplace copies have no expiry.

3. The folder tree

The Media Library with the folder tree on the left; the Colour folder inside Flowers is open, and a file is being dragged onto Press kit
The folder tree beside the Media Library. Open a folder to see its files; drag files onto another folder.

Keyboard

KeyWhat it does
↑ ↓ Home EndMove between folders
→ ←Open or close a folder, or go to its parent
Enter or SpaceShow the folder's files
F2Rename
DeleteDelete the folder (you are asked first)
Shift+F10 or the menu keyMore actions

The tree follows the WAI-ARIA tree pattern, so screen readers announce folders, levels and which one is open.

4. Putting files in folders

When a change cannot be saved: a move first adds the file to the new folder and checks in the database that it is there; only then does the file leave the old folder. If the new folder could not be saved, the file stays in all its old folders and the message says how many files were not changed (for example "1 file was not changed (“Logo.png”): The folders could not be saved"). Nothing is lost: try the move again. Files you are not allowed to edit are counted separately ("skipped (no permission)"). In the attachment details, a folder tick that could not be saved shows Folders not saved with a Retry button.

List view with the folder tree, the Folders column and the folder filter
List view: the tree, the Folders column and the folder filter.
Attachment details with folder checkboxes
Folder checkboxes in the attachment details.

Folders are virtual. Moving a file between folders never moves it on the server, so its address, the image sizes and every link to it stay exactly the same.

5. Uploading into a folder

Open a folder and upload: with Add Media File, by dropping files onto the library, or in the editor's media dialog with a folder chosen in the filter. New files go straight into that folder. Files uploaded from All files or In no folder go into no folder (or, with Pro's automatic sorting, into the folder the AI is sure about).

If the open folder was deleted meanwhile (for example in another tab), or the file could not be put into it, the upload still succeeds and a message names the files that are in no folder, so you can drag them where they belong.

6. Folders in the editor

Every media dialog in the editor (Image, Gallery, Cover, Media & Text blocks, the classic editor's Add Media) has a Filter by folder dropdown next to the date filter, laid out for WordPress 7's media toolbar.

The editor's media dialog with Filter by folder set to Landscapes
Pick a folder in the media dialog.

Add the Folder gallery block, pick a folder and choose columns, image size, link and order. Images you add to the folder later appear in the gallery automatically.

A page with a four-column Folder gallery of flower photos
The Folder gallery block on a page.

Shortcodes work too, also in page builders:

ShortcodeShows
[gallery folder="logos"]The images in the folder with the slug logos (or an ID).
[gallery folder="logos" include_children="yes"]Also the images in its subfolders.
[gallery media_category="flowers,mosses"]Enhanced Media Library syntax: images in either folder.
[gallery media_category="california+flowers"]Images in both folders.
[gallery folder="logos" limit="6" orderby="date" order="DESC"]The six newest.
[playlist media_category="podcasts" type="audio"]An audio playlist from a folder.

8. Coming from Enhanced Media Library

  1. Activate Shelfwright Pro. Your Enhanced Media Library categories appear as folders right away, with their subcategories and files: Shelfwright uses the same media_category taxonomy, so nothing is copied or converted.
  2. Deactivate Enhanced Media Library (Shelfwright reminds you until you do).

On the first activation Shelfwright also keeps two of your Enhanced Media Library choices: whether category pages were public (and their URL), and whether filters included subcategories. Taxonomies you created in Enhanced Media Library, and Categories or Tags you put on media, are registered again with the same names. [gallery media_category="…"] shortcodes keep working, including the + and , syntax, type, limit and orderby.

9. Importing from other folder plugins

When Shelfwright finds folders made with FileBird, Real Media Library, Media Library Folders, Folders (Premio), HappyFiles, WP Media Folder, Wicked Folders, Media Library Assistant or extra Enhanced Media Library taxonomies, it shows a card at the top of the tree. Click Import.

The import card at the top of the folder tree: Folders from FileBird
One click imports the folders, with their subfolders and files.

If the import stops, or something cannot be saved

  1. Continue an interrupted import: if the page was closed, the connection dropped or the server answered with an error, open Media → Library again. The card says This import is not finished; click Import and it continues where it stopped. The position is kept on the server, so nothing is read twice or skipped, also when another administrator continues it.
  2. See what failed: when every link has been read, an import with failures does not say it is done. The card shows Import not finished, how many files could not be put into their folders and how many folders could not be created, and lists them with the reason. The first 20 are shown; click Show all … more for the whole list, or Download the list (CSV) to keep it. Everything else from the import is already saved.
  3. Retry failed: writes the failed folders and files again (a folder that was deleted during the import is created again). Fix the cause first if the reason points to one (for example a database that was full or read-only), then click Retry. When everything is written, the import is done.
  4. Finish without them: if some items cannot be saved and you want to stop, click Finish without them. You are asked to confirm, with the number of files and folders that will be left out. The import is then marked done; the left-out files simply stay in the other plugin's folders (unchanged), and you can put them into folders yourself. Download the CSV list first if you want a record of them.

Links that point to a folder the other plugin itself no longer has, and links to files that were deleted from the Media Library, have nothing to import. They are counted in the final message, not listed as failures.

Each source is imported once; afterwards its card does not come back. Not now hides a card in this browser (an unfinished import always shows its card again).

10. AI sorting

An image-recognition model (Google SigLIP 2) compares each image with your folder names and suggests the best folder. It runs in your browser: your images are never sent anywhere, and there is nothing to pay per image.

  1. Under Settings → Media → AI sorting, tick Allow downloading the image-recognition model. The model (about 410 MB) is downloaded once per browser from Hugging Face and kept in the browser's cache.
  2. In the folder tree, click Sort with AI. Choose which images (in no folder, the open folder, or all) and which folders the AI may choose.
  3. Click Find the right folders. The first time, the model downloads; then the AI looks at the images one by one and shows its progress.
  4. Review: every image shows the suggested folder and how sure the AI is. Suggestions at or above your threshold (60 % by default) that also match the image clearly enough are ticked; the others say "No folder fits". Change any folder or untick any image, then click Put … images in their folders.
The Sort with AI dialog: which images, and which folders it may choose
Choose the images and the folders, then let the AI suggest.

Better results: use clear, visual folder names ("Team photos", "Chairs", "Event posters", "Logos"). The AI also sees the parent folder ("Products / Chairs"). Untick folders that are not about what is in the picture (like "2026" or "Press kit").

Sorting new uploads automatically

Tick Sort new images automatically when they are uploaded outside a folder and the AI finds a good match under Settings → Media (downloading the model must be allowed too). The sorting runs in the browser the next time someone opens the Media Library. Images uploaded outside a folder are then put into the folder the AI is sure about (above your threshold), and a short message says where each went. Uploads into an open folder are never changed.

11. Colours and ZIP downloads

The folder menu with colours and Download as ZIP
Colours and ZIP downloads in the folder menu.

12. Settings reference

All settings are under Settings → Media → Folders.

Settings → Media: the Folders section
The Folders section on Settings → Media.
SettingWhat it does
Folder treeShow the tree beside the Media Library (grid and list view).
Insert mediaThe folder filter in the editor's media dialogs.
UploadsNew uploads go into the open folder.
Dragging filesMove (default; hold Ctrl or Alt to copy) or Add.
SubfoldersShow the files in subfolders too when a folder is open.
CountsThe number of files next to each folder.
Deleting ShelfwrightAlso delete all folders when the plugin is deleted (off by default).
Folder pagesA public page per folder, like a category archive (off by default).
Shelfwright ProThe licence key (Gumroad), or the marketplace status.
AI sortingAllow the model download, sort new uploads automatically, and the confidence threshold (30–95 %).

13. Troubleshooting

Message or problemSolution
No folder treeCheck Folder tree under Settings → Media. On narrow screens the tree is above the library.
A notice about Enhanced Media LibraryDeactivate Enhanced Media Library; your categories are already folders.
"The AI model could not be downloaded"The browser must reach huggingface.co. Try another network, or check a firewall or ad blocker.
The AI is unsure about most imagesUse clearer folder names and untick folders that are not about what is in the pictures. Lower the threshold under Settings → Media if suggestions look right.
"This server cannot make ZIP files"Ask your host to enable the PHP zip extension.
"There is already a folder with that name here"Folders in the same place need different names.
"Import not finished. … could not be put into their folders."See section 9: check the reasons in the list, then click Retry failed, or Finish without them to leave them out.
"This import is already running"Another tab or administrator is running the same import. Wait a moment and click Import again; it continues the same import.
"… files were not changed (…): The folders could not be saved"The named files stayed in their old folders. Try again; if it keeps failing, ask your host to check the database.
"… added but still in its old folder too"The file is in the new folder; taking it out of the old one failed. Drag it again, or untick the old folder in its details.
"A folder you ticked no longer exists, so nothing was changed"Another tab or administrator deleted that folder. Reload the page and tick another one.
"The folder that was open was deleted, so the file is in no folder"Open In no folder and drag the named files into a folder.
Gallery shows no imagesCheck the folder slug in [gallery folder="…"] (Media → Folders lists them), and that the folder holds images.
"This key has already been activated the allowed number of times"Contact us through the store where you bought Pro and we will reset it.

14. Privacy and external services

15. Deactivating, deleting and your folders

Support

Contact us through the store where you bought Shelfwright Pro: on WPBay, open a ticket from your account; on Pluggable, PlugNest, CodeGrape or itch.io, message us there; for Gumroad and Payhip, reply to your receipt.

Shelfwright is made by Karelia Labs. Licensed under the GPL v2 or later. AI sorting uses Transformers.js (Apache-2.0), ONNX Runtime Web (MIT) and SigLIP 2 (Apache-2.0, Google).