[WordPress] 外掛分享: Unattached Media Manager

首頁 › 外掛目錄 › Unattached Media Manager
WordPress 外掛 Unattached Media Manager 的封面圖片
300+
安裝啟用
★★★★★
5/5 分(2 則評價)
38 天前
最後更新
50%
問題解決
WordPress 5.8+ PHP 7.4+ v1.3.1 上架:2026-02-20

內容簡介

Unattached Media Manager 外掛旨在解決 WordPress 媒體庫中「未附加」媒體檔案的問題,透過掃描網站找出實際使用的媒體,並將其正確附加到相應的文章,提升媒體管理的可靠性和效率。

【主要功能】
• 掃描全站媒體使用情況
• 一鍵附加未附加的媒體
• 改善 WordPress 的「未附加」過濾器
• 支援媒體的匯入/匯出功能
• 安全卸載外掛後仍保留修正

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.3.1) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Unattached Media Manager」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Why This Plugin Is Different
Most media cleaner plugins help you delete unused images. This plugin fixes a fundamental WordPress problem first.
WordPress has a built-in “Unattached” filter in the Media Library. The idea is simple: it shows you media files that aren’t connected to any post, so you can decide whether to keep or delete them.
The problem? WordPress only marks media as “attached” if it was uploaded directly through the post editor. Any image added through ACF fields, Gutenberg blocks, page builders, widgets, theme options, or shortcodes shows as “Unattached” — even though it’s actively being used on your site.
This makes WordPress’s native “Unattached” filter completely unreliable.
How Unattached Media Manager Fixes This
This plugin scans your entire site, finds every place where media files are actually being used, and properly attaches them to their parent posts. Once attached:

WordPress’s “Unattached” filter actually works — It now shows only truly unused media
You can use WordPress’s native tools — No need to depend on third-party plugins to manage media
Import/export plugins work correctly — Tools like WP All Import, WP Migrate, Duplicator, and others can now properly identify and migrate media with their associated posts
You can safely uninstall this plugin — The attachments remain as part of WordPress’s native structure

The Workflow

Scan — The plugin finds all media usage across your site (content, ACF, blocks, widgets, options, etc.)
Attach — One-click to properly attach all “used but unattached” media to their parent posts
Review — Now WordPress’s “Unattached” filter shows only genuinely unused files
Clean Up — Use WordPress’s native tools OR this plugin’s safe deletion features
Done — Uninstall if you want; the fixes stay with WordPress

Yes, It Also Deletes Unused Media
Like other media cleaners, this plugin also helps you safely delete unused media with:

Trash support — Move to trash first, restore if needed
Permanent delete — Remove forever when you’re sure
Change history — Track all attachment changes with one-click revert

But the real value is fixing WordPress’s attachment system so you don’t need to depend on any plugin long-term.
Two Processing Modes

Browser-Driven (Recommended) — Fast and reliable with real-time progress. Keep the browser tab open until complete.
Background (WP-Cron) — Processing continues even after closing your browser. Ideal for server cron setups.

Key Features

Comprehensive Scanning — Detects media usage in post content, featured images, Gutenberg blocks, ACF fields, Elementor, Meta Box, WooCommerce, SEO plugins, widgets, theme options, and more
Fix Unattached Media — One-click to properly attach all “used but unattached” media
Media Library Integration — See usage count directly in your Media Library list view
Safe Deletion — WordPress trash support with restore capability
Change History — Full audit trail with one-click revert for any attachment
Pause & Resume — Stop any operation and continue later
Resource Aware — Three modes (Low/Auto/High) for shared hosting to dedicated servers
Export Reports — Download CSV reports of all media usage
Developer Friendly — Hooks, filters, REST API, and WP-CLI commands

The Problem It Solves
WordPress marks media as “Unattached” if it wasn’t uploaded directly to a post. But many media files ARE being used — they’re just embedded via:

The block editor (Gutenberg)
Page builders like Elementor or Beaver Builder
ACF image/gallery fields
WooCommerce product galleries
Theme customizer settings
Widget areas
Shortcodes
Custom meta boxes

Unattached Media Manager finds ALL these references and properly attaches the media, so WordPress correctly reflects which files are actually in use.
Server-Friendly Design
This plugin is designed to work on ALL servers, including shared hosting with limited resources:

Never blocks your site – All heavy operations are processed in batches
Adaptive resource usage – Automatically detects server limits and adjusts accordingly
Three resource modes:

Low Resources – 5 items/batch, 2-minute intervals (for shared hosting)
Auto (Recommended) – 15 items/batch, 1-minute intervals (adjusts automatically)
High Performance – 50 items/batch, 30-second intervals (for dedicated servers)

Two processing strategies – Choose browser-driven (fast) or background WP-Cron mode

Supported Content Types
ALL features below are FREE – no Pro version required!

Post Content – Classic editor, Gutenberg blocks, shortcodes, inline styles, data attributes
Featured Images – Thumbnail assignments
ACF Fields – Image, gallery, file, repeater, flexible content, and group fields
Gutenberg Blocks – Core image, gallery, cover, media & text blocks
Elementor – All widgets, backgrounds, galleries, sliders, and responsive images
Meta Box – All field types including groups and cloneable fields
WooCommerce – Product galleries, variation images, downloadable files, category thumbnails
SEO Plugins – Yoast SEO, Rank Math, All in One SEO, SEOPress (OpenGraph & Twitter images)
Widgets – Image widgets, text widgets with media, custom HTML
Theme Options – Customizer settings, theme mods, custom logos
Options Table – Plugin settings that store media IDs or URLs
Video & Audio – HTML5 video/audio elements, poster images, source tags
Responsive Images – srcset attributes and lazy-loading data attributes

For Developers
Unattached Media Manager is built with extensibility in mind:

Hooks & Filters – Extend scanning with custom parsers
REST API – Query media usage programmatically
WP-CLI Commands – Run scans from the command line (wp unmam scan)
Custom Post Types – Automatically scans all public post types

How to Use
Step 1: Run Your First Scan

Navigate to Media → Media Solution
Click Start Full Scan
Choose your processing mode (Browser-Driven recommended for most users)
Watch the real-time progress as your media library is scanned

Step 2: Review the Dashboard
After scanning, you’ll see:

Total Media Files – All attachments in your library
In Use – Media files with detected references
Potentially Unused – Media files with no detected references
Used but Unattached – Media that’s used but marked as “Unattached” in WordPress
Total References – Total number of places media is referenced

Step 3: Fix Unattached Media
If you have “Used but Unattached” media:

Click the Attach All Media Files button
The operation runs in the background
Each attachment is tracked in Change History for easy reverting

Step 4: Clean Up Unused Media
Go to the Unused Media tab to:

Review – Check each file before taking action
Move to Trash – Safely move to WordPress trash (can be restored)
Restore – Bring items back from trash if needed
Delete Permanently – Remove forever (cannot be undone)
Empty Trash – Delete all trashed media at once

Important: All bulk operations run in the background. You’ll see a status bar showing progress.
Step 5: Review Change History
The Change History tab shows:

All attachments made by this plugin
When each change occurred
What post each media was attached to
Option to Revert any change (detaches the media)

Important Precautions
Before Deleting Any Media

Always run a full scan first – Make sure the index is up to date
Review files manually – The scanner detects database references, but images might be:

Hardcoded in theme PHP files
Used by external websites linking to your images
Referenced in custom code or third-party plugins not yet supported
Used in email templates stored outside WordPress

Use Trash first – Move to trash instead of deleting permanently
Know what the trash does – Trashing changes an item’s status. It does not remove the file or break anything on your site. See below.

What Trashing Does And Does Not Do
Moving media to the trash only changes its status in the database. The file stays on your
server, and any image already placed in your content keeps displaying exactly as before.
This matters because it is tempting to trash a batch of “unused” files and then browse the
site looking for broken images to find the mistakes. That does not work. Nothing will look
broken, whether the files were genuinely unused or not. Images only break after a permanent
delete, which is the point where it is too late to learn from them.
Two things that do reliably tell you whether a file is in use:

Your server access logs. Search them for requests under /wp-content/uploads/ over the
last month or two. Files that no browser has ever requested are genuinely unused. This
also catches images that other websites link to, which no plugin can detect.
A staging copy. Clone the site, permanently delete there, then crawl it with a broken
link checker. You get a real list of what breaks with no risk to the live site.

Also worth knowing: WordPress empties the trash automatically. Items sitting in the trash
longer than the EMPTY_TRASH_DAYS setting, 30 days by default, are deleted permanently on a
schedule, and for media that removes the files from your server. You do not have to click
Empty Trash for this to happen. If you are keeping things in the trash deliberately while
you check them, raise EMPTY_TRASH_DAYS in wp-config.php first.
About “Potentially Unused” Media
Files marked as “Potentially Unused” means:

No references were found in the scanned content
This doesn’t guarantee the file is unused
The file might be used in ways not detected:

Theme template files (hardcoded)
External sites linking to your images
Custom plugins with non-standard storage
CSS background images defined in stylesheets
JavaScript-loaded images

Recommended Workflow

Scan – Run a full scan with all content types enabled
Review – Look at the Unused Media tab
Research – For each file, consider where it might be used
Trash – Move questionable items to trash (not permanent delete)
Verify – Check your server access logs for requests to those files, or test the
deletion on a staging copy. Do not wait for broken images to appear, because trashing
never produces any
Delete – Only permanently delete after confirming no issues

Server Resources

Shared Hosting – Use “Low Resources” mode in settings
If operations timeout – Switch to Low Resources mode
Large media libraries – The scan may take longer but will complete
WP Cron must work – Ensure WordPress cron is running (check with your host)

Privacy Policy
Unattached Media Manager does not:

Collect any personal data
Send any data to external servers
Use any third-party services
Track users or usage

All data is stored locally in your WordPress database in custom tables that are removed when you uninstall the plugin.
Uninstallation
When you uninstall (delete) the plugin:

All custom database tables are removed
All plugin options are deleted
All plugin transients are cleared
All scheduled cron events are removed
Post meta created by the plugin is deleted

Note: Attachment relationships (post_parent) that were set by this plugin are NOT removed, as these are now part of WordPress’s native media library structure. If you need to revert these, use the Change History tab before uninstalling.
Credits

Built with love for the WordPress community
Icons from WordPress Dashicons
Inspired by the need to keep media libraries clean and organized

延伸相關外掛

文章
Filter
Mastodon