Linux 软件免费装
Banner图

ForgeDBI Media Organizer

开发者 forgestudio
更新时间 2026年10月29日 03:10
PHP版本: 8.2 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

media library folders duplicates unused media media cleanup

下载

0.2.2

详情介绍:

ForgeDBI Media Organizer adds a workspace under Media → Media Organizer with three things WordPress's own library does not have: Folders that never move files. Nested folders, drag and drop, bulk moves, and folders inside WordPress's own media picker. A folder is a label: moving a file between folders changes no URL and touches no file on disk. Where used. A scan reads your content — the block and classic editors, featured images, galleries, site identity, core widgets, Elementor layouts and templates, and ACF image and gallery fields — and records every place each file is used, with a link to it. The scan says exactly what it checked and what it could not; "no references found" is reported as what it is, evidence from the sources read, never as proof a file is unused. Cleanup you can take back. Instead of deleting, you quarantine: the file's addresses stop working, the file and its record are held, and everything can be restored exactly as it was with one click. Nothing is ever deleted automatically. Permanent deletion is a separate, explicit, Administrator-only step after a recovery window, with the filename typed to confirm. Protect any file or folder and it can never be quarantined or deleted, whatever a scan finds. Also: exact duplicate detection by file contents, missing-file detection, smart views (saved filters, personal or shared), an activity log of every change and who made it, a Settings screen for the recovery window, scan sources and role permissions, and WP-CLI commands for all of it. What it will not do ForgeDBI Media Organizer never rewrites your content, merges or renames files, or deletes anything on its own. Those are deliberate. It reads; you decide. Where quarantined files are kept Quarantined files are moved into the plugin's own folder in your uploads directory (uploads/forgedbi-media-organizer/, wherever WordPress says uploads are), under a randomly named subfolder. Many web servers serve everything in uploads, so every file held there is encrypted (libsodium, or OpenSSL where libsodium is missing), and so is the record of where each belongs. The encryption key is kept in your database, never in that folder, so the files cannot be read even if someone finds and downloads them. The folder also carries deny rules and an empty index for servers that honour them. If the server cannot encrypt, or the folder cannot be written, new quarantines are switched off and anything already held stays restorable. Privacy The plugin makes no request to any outside service. The only request it sends is from your site to itself, to check whether the web server would serve the quarantine folder (whose contents are encrypted either way). Nothing about your media leaves your server. Source code and build The admin interface in build/ is compiled from the TypeScript and React source shipped with the plugin in admin/src/. To rebuild it: install Node.js 24, run npm ci, then npm run build. PHP dependencies are declared in composer.json; the only runtime dependency is Action Scheduler (GPL-3.0), bundled in vendor/.

安装:

  1. Upload the plugin through Plugins → Add New → Upload Plugin, or copy the forgedbi-media-organizer folder to wp-content/plugins.
  2. Activate it. The plugin creates its own tables and grants Editors the organizing, protecting and scanning capabilities; quarantine and permanent deletion stay with Administrators.
  3. Open Media → Media Organizer. Run a scan from Scan & Usage to see where your files are used.
Requires PHP 8.2 or newer and WordPress 6.8 or newer. Multisite is not supported in this version.

屏幕截图:

  • Scan & Usage: coverage by source, findings, and what was not checked.
  • The quarantine confirmation: what will happen, and what must be acknowledged.
  • The Quarantine tab: held files, restore, and permanent deletion after the recovery window.
  • Settings: the recovery window, scan sources, protection and permissions.

升级注意事项:

0.2.2 Fixes activation being refused because of a leftover entry for the earlier build. 0.2.1 Deactivate "Forge Media Library" before activating this plugin, if you had the earlier build. 0.2.0 New name and a new, always-encrypted quarantine folder under uploads. Existing folders, settings and quarantined files carry over. 0.1.0 First release.

常见问题:

Does moving a file to a folder change its URL?

No. Folders are labels in the database. No file is moved, renamed or copied by organizing.

Is "No references found" the same as unused?

No, and the plugin says so wherever it shows that result. A scan reads the sources listed under Scan & Usage → Coverage. Theme templates, plugin settings, emails, other websites and anything else it does not read may still use a file. That is why cleanup is a quarantine you can undo, not a deletion.

What happens to a quarantined file?

Its files are moved out of the uploads folder and its addresses stop working — a page that used it shows a broken image until it is restored. Its record, metadata, folder and every reference stay as they were. Restoring puts the files back byte for byte, verified by checksum. A file is only ever permanently deleted when an Administrator asks for that, after the recovery window, by typing its name.

Does anything get deleted automatically when the recovery window ends?

No. Nothing in this plugin deletes a file on its own. The window ending only makes permanent deletion possible for an Administrator to request.

Why are quarantined files encrypted?

They are kept under uploads, which most web servers will serve to anyone who knows the address. Encrypted, they are useless to anyone without the key. The key is in your database (so in every database backup), or in wp-config.php if you define FORGE_MEDIA_QUARANTINE_KEY. Keep your backups: without the key, held files cannot be restored.

Can I use it with an offloading plugin (S3 and the like)?

Folders, scans, smart views and protection work. Quarantine, restore and permanent deletion are switched off while a known offloading plugin is active, because they move local files and the remote copy would keep being served.

Which page builders and custom fields are scanned?

The block and classic editors, featured images, galleries, site identity and core widgets, Elementor layouts and saved templates, and ACF image and gallery fields (including inside groups and repeaters). Others are not read, and the scan's coverage screen lists what was and was not checked for each scan.

I installed an earlier build named "Forge Media Library". What happens?

ForgeDBI Media Organizer is the same plugin under its new name. Deactivate the old copy first (activation is refused while it is active, and the old copy is left running); then activate this one, and your folders, settings, activity and quarantined files carry over as they are. Files quarantined by the earlier build stay where that build put them and can still be restored or permanently deleted from there; nothing new is written to the old folder. Then delete the old copy from the Plugins screen. Its uninstall routine removes nothing.

Does deleting the plugin remove my folders or quarantined files?

No. Deactivating or deleting the plugin leaves your folders, the activity log, quarantined files and their manifests in place, so nothing is lost by removing it. The runbook in the plugin's documentation explains how to put held files back by hand.

更新日志:

0.2.2 0.2.1 0.2.0 0.1.0