Title: WePOP
Author: WeDOK
Published: <strong>Jen 29, 2025</strong>
Last modified: Avril 6, 2026

---

Search plugins

![](https://ps.w.org/wepop/assets/icon-256x256.png?rev=3319350)

# WePOP

 By [WeDOK](https://profiles.wordpress.org/wedok/)

[Download](https://downloads.wordpress.org/plugin/wepop.1.6.3.zip)

 * [Details](https://hat.wordpress.org/plugins/wepop/#description)
 * [Reviews](https://hat.wordpress.org/plugins/wepop/#reviews)
 *  [Installation](https://hat.wordpress.org/plugins/wepop/#installation)
 * [Development](https://hat.wordpress.org/plugins/wepop/#developers)

 [Support](https://wordpress.org/support/plugin/wepop/)

## Description

WePOP is a lightweight lightbox and media popup plugin with **zero dependencies**—
no jQuery, no front-end framework. It uses plain JavaScript so it stays reliable
as themes and other plugins update.

**What it does**

 * Opens linked **images** (including **SVG**), **MP4** files, **YouTube**, and **
   Vimeo** in an overlay.
 * Works with the **Block Editor**: gallery images can be grouped into a **slideshow**
   with prev/next, keyboard arrows, and **swipe** on phones.
 * Three **grouping modes**: gallery block only, all images in the post (or on the
   page when the front/home option applies), or no grouping.
 * Optional **alt text** captions: shown in a **strip below the photo** (not overlaid
   on tall images), **slide in sync** with grouped slideshows; **white text** on
   the dimmed overlay with a light shadow—no heavy caption bar. Per-image **“Disable
   popup”** toggle in the image block sidebar.
 * **Keyboard-friendly**: Escape closes popups; image galleries support arrow keys.
 * **Accessibility**: close and navigation controls expose meaningful labels for
   assistive tech.

**Who it’s for**

Portfolios, photo sites, menus, blogs—any site that wants a simple, fast lightbox
without loading heavy scripts.

**What’s new in 1.6.3 (highlights)**

 * Safer keyboard handling when closing the image lightbox (any close method).
 * Video overlays (MP4 / YouTube / Vimeo) also close with **Escape**.
 * Optional popups on the **front page** and **blog home** (off by default). When**
   off**, posts and static pages use **main content only** for link detection. When**
   on**, those views plus front/blog index use **whole-page** detection (header,
   footer, widgets included on posts and pages too).
 * Clearer **REST API** parameters and response for advanced integrations.
 * **SVG** link detection in content matches the front-end; scripts and styles are**
   versioned** for caching.
 * Image lightbox: optional **alt captions move with each slide** in gallery mode;
   caption area is **below the image stage** so portrait and landscape shots stay
   readable on the mask, not on top of the picture.
 * Alt caption look: **no dark bar** behind the text—white type on the overlay with
   a subtle shadow.

**Like WePOP?**

If it’s useful on your site, a **star rating or short review** on [WordPress.org](https://wordpress.org/plugins/wepop/)
helps others find it and supports ongoing development. Thank you.

### Why Choose WePOP?

 * **Stable & compatible**: Vanilla JS—no fights with jQuery versions or bundled
   libraries.
 * **Lightweight**: Small footprint; no unnecessary database overhead for normal
   use.
 * **Modern WordPress**: Built around blocks and standard post content.
 * **Polished UX**: Full-width slide transitions for grouped images; touch-friendly.
 * **Straightforward settings**: Popup mode, language, captions, and front/home 
   option—without a maze of options.

### Documentation & Support

 * [Official documentation (Japanese)](https://wedok.jp/tools/wepop/)

### Popup Trigger Rules

WePOP detects supported media links and opens them in a popup when the visitor clicks
a normal left click (modifier keys such as Ctrl, ⌘ Command, Shift, or Alt are left
alone so “open in new tab” behavior still works).

Supported media types:

 * Image files: jpg, jpeg, png, gif, webp, svg
 * Video URLs: YouTube, Vimeo
 * Direct video files: MP4

**Where links are detected**

 * On **single posts and static pages** (default script loading), with **Front page&
   blog home** **unchecked**, supported links are detected only inside the **main
   content area** (typically `<main>`, or `.entry-content` / `#content` on themes
   without `<main>`). Header, footer, and widget areas are **not** included.
 * Enable **Front page & blog home** to also load popups on the **site front page**
   and **blog posts index**, and to detect links **across the whole page on posts
   and pages too** (header, footer, sidebars, and widgets), not only the main content
   wrapper.
 * Add the **`wepop-disable`** class (or wrap markup in an element with that class)
   to skip popups for specific links or regions.

### Popup Mode Settings

You can choose how **image** links are grouped into popup viewers. This affects 
slideshow prev/next and keyboard navigation.

 * **Gallery Blocks Mode**
    Only images inside WordPress Gallery blocks are grouped
   into slideshows. Other image links open on their own.
 * **All Images Mode**
    All qualifying image links **in the same detection scope**
   are grouped together: **main content only** when **Front page & blog home** is
   off; **entire page** when it is on (including front/blog index views).
 * **No Grouping Mode**
    Each image opens individually with no navigation arrows.

### Language Support

Admin labels are localized.

Supported languages:

 * Japanese
 * English
 * Spanish
 * French
 * German
 * Chinese (Simplified)
 * Italian
 * Korean
 * Portuguese (Brazil)

## Screenshots

 * [[
 * 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)

## Installation

 1. In WordPress Admin go to **Plugins  Add New**.
 2. Search for **WePOP**.
 3. Click **Install Now**, then **Activate**.
 4. Adjust options under **Settings  WePOP** if needed.

Once activated, WePOP handles supported media links automatically. Use **Front page&
blog home** if you want popups on the **home page and blog index** and, on **posts
and static pages**, links **outside** the main content (e.g. header/footer banners)
to open in the popup as well.

## FAQ

### Does WePOP require jQuery?

No. WePOP uses vanilla JavaScript only and has no front-end dependencies.

### Does it work with the Block Editor (Gutenberg)?

Yes. Grouping is optimized for the Gallery block; you can disable the popup per 
image in the sidebar.

### Does it work with the Classic Editor?

Yes. Popups work for supported links in content; grouping works best when gallery
markup matches WordPress galleries.

### How do I use popups on the front page or blog home (e.g. header/footer image links)?

Go to **Settings  WePOP** and enable **Front page & blog home**. That loads the 
popup script on the **front page** and **blog posts index** and detects supported
links **anywhere on those views**. It also switches **posts and static pages** to**
whole-page** detection so header, footer, and widget links can open in the popup.
With the setting off, only the **main content area** (e.g. `main` or `.entry-content`)
is used on posts and pages. Use **`wepop-disable`** on a link or wrapper to exclude
specific elements.

### Why does YouTube or Vimeo say “This video cannot be played”?

Some videos cannot be embedded on external sites due to the uploader’s privacy settings.

### Why doesn’t the popup work on my site?

Common causes include caching/minify plugins altering JavaScript, or themes that
change link behavior. Try excluding WePOP scripts from optimization.

### Does it work with page builders (e.g. Elementor)?

Often yes if the output is normal links to image or video URLs. Custom HTML or non-
standard galleries may limit grouping.

### Can I use WePOP alongside another lightbox plugin?

You can, but two lightboxes on the same links may conflict. Disable or configure
the other plugin if clicks behave oddly.

### Does it support gallery plugins like NextGEN?

Image popups may work, but grouping may not match WePOP’s gallery-block logic.

### Feedback and support

If WePOP is useful on your site, a short review on WordPress.org helps others find
it. For detailed help, see the documentation link above.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“WePOP” is open source software. The following people have contributed to this plugin.

Contributors

 *   [ WeDOK ](https://profiles.wordpress.org/wedok/)

“WePOP” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/wepop/contributors)
for their contributions.

[Translate “WePOP” into your language.](https://translate.wordpress.org/projects/wp-plugins/wepop)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wepop/), check out 
the [SVN repository](https://plugins.svn.wordpress.org/wepop/), or subscribe to 
the [development log](https://plugins.trac.wordpress.org/log/wepop/) by [RSS](https://plugins.trac.wordpress.org/log/wepop/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 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**: on posts and static pages, link detection is limited to the**
   main content** wrapper (`main`, `.entry-content`, or `#content` fallback), not
   header/footer/widgets
 * Front/home **on**: loads on front page and blog index; **whole-page** link detection
   on posts and pages too (header, footer, widgets)
 * Fix: static front page with Front/home off no longer loads scripts (avoid `is_page()`
   running before front check)
 * Add svg to content filter for data-wepop (matches JS image detection)
 * Enqueue script, style, and editor script with WEPOP_VERSION
 * REST POST /wepop/v1/disable: args schema and sanitize; response shape success,
   url, disabled_links
 * Accessibility: aria-label on close and prev/next controls (localized via wp_localize_script)
 * Image lightbox: optional alt captions **slide horizontally with** slideshow images
 * Alt captions use a **dedicated row below the image** so text stays on the dimmed
   overlay (tall images no longer cover the caption)
 * Alt caption styling: **no background bar**; white text with shadow for contrast
   on the overlay
 * Updated translations and settings screen copy (link scope and Front page / blog
   home)

#### 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
 * Updated translations and improved language consistency

#### 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)
 * Updated translation template

#### 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

## Meta

 *  Version **1.6.3**
 *  Last updated **15 è ago**
 *  Active installations **20+**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/wepop/) and [Japanese](https://ja.wordpress.org/plugins/wepop/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/wepop)
 * Tags
 * [gallery](https://hat.wordpress.org/plugins/tags/gallery/)[gutenberg](https://hat.wordpress.org/plugins/tags/gutenberg/)
   [image](https://hat.wordpress.org/plugins/tags/image/)[lightbox](https://hat.wordpress.org/plugins/tags/lightbox/)
   [popup](https://hat.wordpress.org/plugins/tags/popup/)
 *  [Advanced View](https://hat.wordpress.org/plugins/wepop/advanced/)

## Ratings

No reviews have been submitted yet.

[Add my review](https://wordpress.org/support/plugin/wepop/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wepop/reviews/)

## Contributors

 *   [ WeDOK ](https://profiles.wordpress.org/wedok/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wepop/)