IMP Media Library Enhancement

Project Overview

Client: Insight Marketing Pro

Plugin: IMP Media Library (WordPress)

Version: 1.2.6

Objective: Transform a basic media folder organizer into a full-featured media management system with frontend gallery capabilities and improved admin UX.


Business Challenge

The existing IMP Media Library plugin provided basic folder organization for WordPress media. However, clients needed:

  1. A way to display organized media as galleries on the frontend
  2. More intuitive folder management using existing content (posts/pages) as folders
  3. Seamless integration with Advanced Custom Fields (ACF)
  4. A smoother, less disruptive admin experience

Solutions Implemented

1. Gallery Shortcode System

Created a flexible [imp_gallery] shortcode supporting three display modes:

Display TypeUse Case
GridUniform thumbnails, ideal for portfolios
MasonryPinterest-style layout preserving aspect ratios
SliderCarousel presentation with navigation

Key Features:

  • Customizable columns (2-6)
  • Adjustable spacing, border radius, and height
  • Optional lightbox with side-panel details
  • Responsive breakpoints for mobile

2. Post-Types as Folders

Enabled any custom post type (Services, Products, Projects) to act as a media folder. This allows:

  • Service pages to automatically contain their own image galleries
  • No duplicate folder structures - content hierarchy = media hierarchy
  • Hybrid mode supporting both taxonomy folders and post-type folders

3. ACF Gallery Selector

Transformed a simple ACF text field into a visual gallery configuration panel:

  • Source selection (taxonomy folder or post-type folder)
  • Display type picker (grid/masonry/slider)
  • Lightbox toggle
  • Column count selector

Theme developers can render galleries with a single function call:

imp_render_gallery('select_gallery')

4. Admin UX Improvements

Bulk Select Mode

  • Toggle between "Bulk Select" and "Clear" buttons
  • Semi-transparent overlay on unselected images (50% opacity)
  • Selected images appear fully opaque for clear visual distinction
  • Escape key exits bulk mode

Silent Refresh Pattern

  • Moving images no longer shows jarring "Loading Media..." message
  • Subtle opacity change (60%) indicates refresh in progress
  • Images remain visible throughout the operation

Quick Actions

  • Remove-from-folder button appears on hover (no confirmation needed)
  • Streamlined workflow reduces clicks for common operations

Slide-in Detail Panel

  • Replaced modal popup with slide-in panel
  • Non-disruptive editing without losing context
  • Supports image replacement and metadata editing

Technical Highlights

CSS Variables for Flexibility

Gallery styling uses CSS custom properties, allowing shortcode attributes to flow directly to styles:

--imp-columns, --imp-spacing, --imp-radius, --imp-height

Conditional Asset Loading

Frontend libraries (Swiper, Masonry, GLightbox) load only when needed, reducing page weight for sites not using specific features.

Version Cache Busting

Synchronized plugin version with asset versioning to ensure updates deploy cleanly across browser caches.


Files Created/Modified

CategoryFiles
New PHP ClassesSettings, Post-Type Folders, Shortcode, ACF Integration
Frontend AssetsGallery CSS, Gallery JS
Admin EnhancementsMedia Grid JS, Media Grid CSS
TemplatesGrid/Masonry/Slider gallery templates

Results

  • Reduced admin friction - Bulk operations complete without page disruption
  • Theme integration simplified - One function renders configured galleries
  • Content-driven organization - Posts naturally become media containers
  • Improved perceived performance - Silent refreshes eliminate loading flashes

Lessons Learned

  1. Version constants matter - Asset caching issues were traced to mismatched version numbers between plugin header and enqueue version
  2. Visual feedback over dialogs - Opacity states communicate selection better than confirmation popups
  3. Silent operations feel faster - Keeping content visible during AJAX refreshes dramatically improves perceived speed

Version 1.2.6 - January 2026

Let's get your website started

Take the first step toward a stunning, high-performing website that works for your business.
Let's get started
arrow-right linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram