Custom WordPress plugin that replaces the default flat media library with a structured folder view. Features: hierarchical folders via custom taxonomy, sidebar folder tree, drag & drop, modal integration with Elementor/builders, bulk assign, upload auto-assign, toast notifications. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4.2 KiB
4.2 KiB
phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, key-decisions, patterns-established, duration, started, completed
| phase | plan | subsystem | tags | requires | provides | affects | tech-stack | key-files | key-decisions | patterns-established | duration | started | completed | |||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 03-media-modal | 01 | media |
|
|
|
|
|
|
|
|
~10min | 2026-03-28 | 2026-03-28 |
Phase 3 Plan 01: Media Upload Modal Integration Summary
Folder dropdown filter in wp.media modal with auto-assign on upload, using AttachmentsBrowser.extend and wp.Uploader hooks.
Performance
| Metric | Value |
|---|---|
| Duration | ~10min |
| Tasks | 2 completed |
| Files created | 1 |
| Files modified | 4 |
Acceptance Criteria Results
| Criterion | Status | Notes |
|---|---|---|
| AC-1: Dropdown folderow widoczny w modalu | Pass | AttachmentsBrowser toolbar extended with select |
| AC-2: Filtrowanie mediow w modalu | Pass | library.props.set via same MFP_Media_Query filter |
| AC-3: Przypisanie folderu przy uploadzie | Pass | wp.Uploader.queue + Attachment.sync hooks |
Accomplishments
- Extended
wp.media.view.AttachmentsBrowser.createToolbarto inject folder dropdown - Hierarchical folder list with em-space indent and counts in dropdown options
- Upload auto-assign via dual hooks (wp.Uploader.queue change:status + Attachment.sync)
mfp_upload_to_folderlightweight single-file endpoint- Modal close triggers
mfp-folder-changedevent → folder-tree.js refreshes counters enqueue_modal_assets()loads on all admin pages where media-views is present
Files Created/Modified
| File | Change | Purpose |
|---|---|---|
assets/js/modal-integration.js |
Created | Modal dropdown, filtering, upload auto-assign, close sync |
includes/class-ajax-handler.php |
Modified | Added mfp_upload_to_folder endpoint |
assets/js/folder-tree.js |
Modified | Added mfp-folder-changed listener |
assets/css/admin.css |
Modified | Modal dropdown styles |
media-folder-pro.php |
Modified | enqueue_modal_assets + modal JS enqueue on upload.php |
Decisions Made
| Decision | Rationale | Impact |
|---|---|---|
| Extend prototype vs filter hook | More reliable, works across all modal instances | Robust integration |
| Flat select vs tree in modal | Modal space is limited, select is native WP pattern | Consistent UX |
| Dual upload hooks | Different WP versions trigger differently | Reliable across WP 6.0+ |
Deviations from Plan
None — plan executed exactly as written.
Issues Encountered
None
Next Phase Readiness
Ready:
- Full modal integration operational
- All 7 AJAX endpoints in place
- Core feature set complete for MVP
- Phase 4 can focus purely on UX polish
Concerns:
- List view (table mode) still unhandled
- No keyboard navigation in modal dropdown
Blockers:
- None
Phase: 03-media-modal, Plan: 01 Completed: 2026-03-28