WePOP

描述

Have you ever had multiple galleries on one page, only to find all the images mixed together in the slideshow?

Most lightbox plugins treat every image on the page as one big group. The only way to separate them is to add shortcodes, manually set attributes, or dig into plugin settings. It works—but it’s a pain.

WePOP solves this automatically.

Place WordPress Gallery blocks as you normally would. WePOP detects each gallery independently and creates separate slideshows for each one—no extra steps required. Switch grouping modes with a single click in the settings screen.

This plugin was built by a web professional with 23 years of hands-on site-building experience. Every feature exists because it was needed in real production work.

The Problem WePOP Solves

Imagine a restaurant site with three galleries on one page: food, interior, and staff photos. With most lightbox plugins, clicking any image opens a slideshow that mixes all three groups together.

Fixing that usually means:
* Adding rel attributes to every image manually
* Writing shortcodes around each gallery
* Installing a separate gallery management plugin

With WePOP, you don’t do any of that. The Gallery block structure you already built is all it needs.

What Makes WePOP Different

Gutenberg-native grouping — no manual work
WePOP reads your Gallery blocks as distinct groups. Each gallery gets its own slideshow automatically. One click in the settings switches between three modes:
* Gallery Blocks Mode — each Gallery block is its own slideshow (recommended)
* All Images Mode — all images on the page grouped together
* No Grouping Mode — every image opens individually

MP4 video popups — no YouTube required
Host your own product demos, property tours, or company introduction videos. WePOP opens MP4 files directly in an overlay—no uploading to YouTube or Vimeo, no embedding restrictions, no third-party branding. YouTube and Vimeo are also supported when you need them.

Reacts only to media links
WePOP only activates on links that point to image or video files. Navigation links, buttons, and logos are completely ignored—no false triggers, no need to manually exclude things.

Captions that don’t cover your photos
Alt text captions appear in a dedicated strip below the image, not overlaid on top. On portrait shots and tall images, your photo stays fully visible. In slideshow mode, captions slide in sync with each image.

Per-image disable toggle
Need one specific image to open in a new tab instead of a popup? Flip the toggle in the image block sidebar. No code, no class names to remember.

Keyboard and accessibility ready
Escape closes any popup. Arrow keys navigate galleries. All controls include proper labels for screen readers. Works well for corporate, government, and accessibility-conscious projects.

Supported Media

  • Images: jpg, jpeg, png, gif, webp, svg
  • Video services: YouTube, Vimeo
  • Direct video files: MP4

Who It’s For

  • Photographers and portfolio sites — multiple series on one page, each staying in its own slideshow
  • Restaurants and hotels — food, interior, and room galleries that don’t mix
  • Businesses — product or service videos hosted on your own server
  • Web designers and agencies — a reliable, low-maintenance lightbox that works across client sites without conflicts

Built Without Baggage

No jQuery. No front-end framework. WePOP runs on plain JavaScript, which means it doesn’t conflict with your theme or other plugins, and it won’t slow your site down. Core Web Vitals stay clean.

Documentation & Support

Popup Trigger Rules

WePOP activates only on links that point directly to supported media files or video URLs. Regular links, navigation, and non-media elements are not affected.

Supported media types:
* Image files: jpg, jpeg, png, gif, webp, svg
* Video services: YouTube, Vimeo
* Direct video files: MP4

Where links are detected:
* Default: On posts and static pages, WePOP looks inside the main content area only (<main>, .entry-content, or #content). Header, footer, and sidebars are not included.
* Extended: Enable Front page & blog home in settings to also load on the front page and blog index, and to detect links across the entire page on posts and pages.
* Manual exclusion: Add the wepop-disable class to any link or wrapper element to skip it.

Popup Mode Settings

  • Gallery Blocks Mode — Images inside each Gallery block form their own independent slideshow. Images outside gallery blocks open individually. This is the recommended setting for most sites.
  • All Images Mode — All qualifying images within the detection scope are grouped into one slideshow.
  • No Grouping Mode — Every image opens in its own popup with no navigation.

Language Support

Admin interface is available in: Japanese, English, Spanish, French, German, Chinese (Simplified), Italian, Korean, Portuguese (Brazil).

Feedback

If WePOP saves you time on a project, a quick rating on WordPress.org goes a long way. It helps other site owners find it and supports continued development. Thank you.

屏幕截图

  • Plugin settings screen
  • Per-image “Disable Popup” toggle in the block editor
  • Single image lightbox
  • Grouped gallery slideshow with navigation
  • YouTube popup
  • Vimeo popup
  • MP4 popup
  • Optional alt text in a strip below the image (hidden when empty)

安装

  1. Go to Plugins Add New in your WordPress admin.
  2. Search for WePOP.
  3. Click Install Now, then Activate.
  4. Visit Settings WePOP to choose your popup mode and preferences.

That’s it. WePOP starts working on your media links automatically.

常见问题

I have multiple galleries on one page. Will the images get mixed together?

No. In Gallery Blocks Mode (the default), each Gallery block forms its own independent slideshow. Images in different galleries don’t mix.

Do I need to add shortcodes or attributes to separate my galleries?

No. WePOP reads your Gallery block structure automatically. No extra markup or settings are needed per gallery.

Does WePOP require jQuery?

No. WePOP is built with plain JavaScript and has no external dependencies.

Can I use it for videos hosted on my own server?

Yes. WePOP supports direct MP4 links. Link to your video file and it opens in a popup overlay—no YouTube or Vimeo account required.

Does it work with the Block Editor (Gutenberg)?

Yes. Grouping and slideshow behavior is built specifically around the Gallery block.

Does it work with the Classic Editor?

Yes. Supported media links in your content will trigger the popup. Image grouping works best when your gallery markup follows standard WordPress structure.

How do I stop a specific image from opening in a popup?

Use the “Disable Popup” toggle in the image block sidebar in the block editor. No code required.

How do I use popups on my front page or blog index?

Enable Front page & blog home under Settings WePOP. This activates the script on those views and also switches posts and pages to whole-page link detection.

Why does a YouTube or Vimeo video say it can’t be played?

The video owner has disabled embedding on external sites. This is a restriction set by the video uploader, not a WePOP issue.

Why doesn’t the popup work on my site?

The most common cause is a caching or minification plugin altering JavaScript. Try excluding WePOP scripts from your optimization settings.

Does it work with page builders like Elementor?

Generally yes, as long as the builder outputs standard links to media files. Non-standard gallery widgets may not support automatic grouping.

Can I use WePOP with another lightbox plugin?

Two lightbox plugins on the same links will conflict. If you notice unexpected behavior, disable the other lightbox plugin.

评价

此插件暂无评价。

贡献者及开发者

「WePOP」是开源软件。 以下人员对此插件做出了贡献。

贡献者

「WePOP」插件已被翻译至 1 种本地化语言。 感谢所有译者为本插件所做的贡献。

帮助将「WePOP」翻译成简体中文。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志

更新日志

1.6.3

  • Fix: Remove document keydown listener when closing the image popup by any means (not only Escape).
  • Video popups: Escape key closes MP4, YouTube, and Vimeo overlays.
  • Setting: Enable popups on front page and blog posts index (default off).
  • Front/home off: Link detection is limited to the main content wrapper on posts and static pages.
  • Front/home on: Loads on front page and blog index; enables whole-page link detection.
  • Fix: Static front page with Front/home off no longer loads unnecessary scripts.
  • Add svg to content filter for data-wepop.
  • Enqueue script, style, and editor script with WEPOP_VERSION.
  • REST POST /wepop/v1/disable: Added args schema, sanitization, and updated response shape.
  • Accessibility: Added localized aria-labels for close and navigation controls.
  • Image lightbox: Alt captions now slide horizontally with slideshow images.
  • Alt captions: Uses a dedicated row below the image to prevent overlapping on tall images.
  • Styling: Removed background bar for captions; uses white text with shadow for contrast.
  • Updated translations and settings screen copy.

1.6.2

  • Improved slideshow transitions for images with different sizes.
  • Improved slide animation for grouped galleries.
  • Updated alt text display position and styling.
  • Alt text element is now hidden when empty.
  • Fixed popup closing behavior when clicking the mask area.

1.6.1

  • Added popup support for YouTube, Vimeo, and MP4 videos.
  • Added per-image “Disable Popup” option in the editor sidebar.
  • Improved file-type detection and popup trigger logic.
  • Enhanced slideshow transitions when grouping is enabled.
  • Added basic information display in the settings screen.

1.6.0

  • Added Popup Mode setting (Gallery / All / None).
  • Added swipe navigation on smartphones.
  • Disabled background scrolling while popup is open.
  • Added 3 new languages: Italian, Korean, Portuguese (Brazil).

1.5.4

  • Updated wording for “No grouping” mode.
  • Added missing gettext wrappers.
  • Updated .pot and ja_JP translation files.

1.5.3

  • Added image grouping mode setting.
  • Standalone images open individually in gallery mode.
  • Improved multilingual loading system.
  • Updated translations.

1.5.2

  • Corrected data-wepop attribute naming.
  • Improved documentation and translations.

1.5.1

  • Improved multilingual interface.
  • Updated settings UI.

1.5

  • First public release.