{"id":236081,"date":"2025-06-29T07:36:52","date_gmt":"2025-06-29T07:36:52","guid":{"rendered":"https:\/\/ja.wordpress.org\/plugins\/wepop\/"},"modified":"2026-04-06T06:58:16","modified_gmt":"2026-04-06T06:58:16","slug":"wepop","status":"publish","type":"plugin","link":"https:\/\/hat.wordpress.org\/plugins\/wepop\/","author":23301268,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.6.3","stable_tag":"1.6.3","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"WePOP","header_author":"WeDOK (Kazuhiro Konta)","header_description":"Simple image popup and gallery plugin for WordPress, built with pure JavaScript and no dependencies.","assets_banners_color":"","last_updated":"2026-04-06 06:58:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wedok.jp\/tools\/wepop\/","header_author_uri":"https:\/\/wedok.jp","rating":0,"author_block_rating":0,"active_installs":20,"downloads":853,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.5.2":{"tag":"1.5.2","author":"wedok","date":"2025-06-29 13:19:29"},"1.5.3":{"tag":"1.5.3","author":"wedok","date":"2025-07-03 13:57:10"},"1.5.4":{"tag":"1.5.4","author":"wedok","date":"2025-07-05 08:27:37"},"1.6.0":{"tag":"1.6.0","author":"wedok","date":"2025-07-18 14:08:31"},"1.6.1":{"tag":"1.6.1","author":"wedok","date":"2025-12-23 08:39:49"},"1.6.2":{"tag":"1.6.2","author":"wedok","date":"2026-03-08 09:13:58"},"1.6.3":{"tag":"1.6.3","author":"wedok","date":"2026-04-06 06:58:16"}},"upgrade_notice":{"1.6.3":"<p>Keyboard and accessibility improvements; optional home\/front popups with whole-page link detection; REST response update for disable endpoint; clearer alt captions (below the image, slide with the gallery, lighter styling).<\/p>","1.6.2":"<p>Improved slideshow transitions and popup closing behavior.<\/p>","1.6.1":"<p>New video popup support and improved grouping behavior. Recommended for all users.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3319350,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3319350,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.5.2","1.5.3","1.5.4","1.6.0","1.6.1","1.6.2","1.6.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3416092,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3416092,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3416092,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3416092,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3416092,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3416092,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3416092,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3477318,"resolution":"8","location":"assets","locale":""}},"screenshots":{"1":"Plugin settings screen","2":"Per-image \u201cDisable Popup\u201d toggle in the block editor","3":"Single image lightbox","4":"Grouped gallery slideshow with navigation","5":"YouTube popup","6":"Vimeo popup","7":"MP4 popup","8":"Optional alt text in a strip below the image (hidden when empty)"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[210,148076,133,237,491],"plugin_category":[50],"plugin_contributors":[244251],"plugin_business_model":[],"class_list":["post-236081","plugin","type-plugin","status-publish","hentry","plugin_tags-gallery","plugin_tags-gutenberg","plugin_tags-image","plugin_tags-lightbox","plugin_tags-popup","plugin_category-media","plugin_contributors-wedok","plugin_committers-wedok"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wepop\/assets\/icon-128x128.png?rev=3319350","icon_2x":"https:\/\/ps.w.org\/wepop\/assets\/icon-256x256.png?rev=3319350","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wepop\/assets\/screenshot-1.png?rev=3416092","caption":"Plugin settings screen"},{"src":"https:\/\/ps.w.org\/wepop\/assets\/screenshot-2.png?rev=3416092","caption":"Per-image \u201cDisable Popup\u201d toggle in the block editor"},{"src":"https:\/\/ps.w.org\/wepop\/assets\/screenshot-3.png?rev=3416092","caption":"Single image lightbox"},{"src":"https:\/\/ps.w.org\/wepop\/assets\/screenshot-4.png?rev=3416092","caption":"Grouped gallery slideshow with navigation"},{"src":"https:\/\/ps.w.org\/wepop\/assets\/screenshot-5.png?rev=3416092","caption":"YouTube popup"},{"src":"https:\/\/ps.w.org\/wepop\/assets\/screenshot-6.png?rev=3416092","caption":"Vimeo popup"},{"src":"https:\/\/ps.w.org\/wepop\/assets\/screenshot-7.png?rev=3416092","caption":"MP4 popup"},{"src":"https:\/\/ps.w.org\/wepop\/assets\/screenshot-8.png?rev=3477318","caption":"Optional alt text in a strip below the image (hidden when empty)"}],"raw_content":"<!--section=description-->\n<p>WePOP is a lightweight lightbox and media popup plugin with <strong>zero dependencies<\/strong>\u2014no jQuery, no front-end framework. It uses plain JavaScript so it stays reliable as themes and other plugins update.<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li>Opens linked <strong>images<\/strong> (including <strong>SVG<\/strong>), <strong>MP4<\/strong> files, <strong>YouTube<\/strong>, and <strong>Vimeo<\/strong> in an overlay.<\/li>\n<li>Works with the <strong>Block Editor<\/strong>: gallery images can be grouped into a <strong>slideshow<\/strong> with prev\/next, keyboard arrows, and <strong>swipe<\/strong> on phones.<\/li>\n<li>Three <strong>grouping modes<\/strong>: gallery block only, all images in the post (or on the page when the front\/home option applies), or no grouping.<\/li>\n<li>Optional <strong>alt text<\/strong> captions: shown in a <strong>strip below the photo<\/strong> (not overlaid on tall images), <strong>slide in sync<\/strong> with grouped slideshows; <strong>white text<\/strong> on the dimmed overlay with a light shadow\u2014no heavy caption bar. Per-image <strong>\u201cDisable popup\u201d<\/strong> toggle in the image block sidebar.<\/li>\n<li><strong>Keyboard-friendly<\/strong>: Escape closes popups; image galleries support arrow keys.<\/li>\n<li><strong>Accessibility<\/strong>: close and navigation controls expose meaningful labels for assistive tech.<\/li>\n<\/ul>\n\n<p><strong>Who it\u2019s for<\/strong><\/p>\n\n<p>Portfolios, photo sites, menus, blogs\u2014any site that wants a simple, fast lightbox without loading heavy scripts.<\/p>\n\n<p><strong>What\u2019s new in 1.6.3 (highlights)<\/strong><\/p>\n\n<ul>\n<li>Safer keyboard handling when closing the image lightbox (any close method).<\/li>\n<li>Video overlays (MP4 \/ YouTube \/ Vimeo) also close with <strong>Escape<\/strong>.<\/li>\n<li>Optional popups on the <strong>front page<\/strong> and <strong>blog home<\/strong> (off by default). When <strong>off<\/strong>, posts and static pages use <strong>main content only<\/strong> for link detection. When <strong>on<\/strong>, those views plus front\/blog index use <strong>whole-page<\/strong> detection (header, footer, widgets included on posts and pages too).<\/li>\n<li>Clearer <strong>REST API<\/strong> parameters and response for advanced integrations.<\/li>\n<li><strong>SVG<\/strong> link detection in content matches the front-end; scripts and styles are <strong>versioned<\/strong> for caching.<\/li>\n<li>Image lightbox: optional <strong>alt captions move with each slide<\/strong> in gallery mode; caption area is <strong>below the image stage<\/strong> so portrait and landscape shots stay readable on the mask, not on top of the picture.<\/li>\n<li>Alt caption look: <strong>no dark bar<\/strong> behind the text\u2014white type on the overlay with a subtle shadow.<\/li>\n<\/ul>\n\n<p><strong>Like WePOP?<\/strong><\/p>\n\n<p>If it\u2019s useful on your site, a <strong>star rating or short review<\/strong> on <a href=\"https:\/\/wordpress.org\/plugins\/wepop\/\">WordPress.org<\/a> helps others find it and supports ongoing development. Thank you.<\/p>\n\n<h3>Why Choose WePOP?<\/h3>\n\n<ul>\n<li><strong>Stable &amp; compatible<\/strong>: Vanilla JS\u2014no fights with jQuery versions or bundled libraries.<\/li>\n<li><strong>Lightweight<\/strong>: Small footprint; no unnecessary database overhead for normal use.<\/li>\n<li><strong>Modern WordPress<\/strong>: Built around blocks and standard post content.<\/li>\n<li><strong>Polished UX<\/strong>: Full-width slide transitions for grouped images; touch-friendly.<\/li>\n<li><strong>Straightforward settings<\/strong>: Popup mode, language, captions, and front\/home option\u2014without a maze of options.<\/li>\n<\/ul>\n\n<h3>Documentation &amp; Support<\/h3>\n\n<ul>\n<li><a href=\"https:\/\/wedok.jp\/tools\/wepop\/\">Official documentation (Japanese)<\/a><\/li>\n<\/ul>\n\n<h3>Popup Trigger Rules<\/h3>\n\n<p>WePOP detects supported media links and opens them in a popup when the visitor clicks a normal left click (modifier keys such as Ctrl, \u2318 Command, Shift, or Alt are left alone so \u201copen in new tab\u201d behavior still works).<\/p>\n\n<p>Supported media types:<\/p>\n\n<ul>\n<li>Image files: jpg, jpeg, png, gif, webp, svg<\/li>\n<li>Video URLs: YouTube, Vimeo<\/li>\n<li>Direct video files: MP4<\/li>\n<\/ul>\n\n<p><strong>Where links are detected<\/strong><\/p>\n\n<ul>\n<li>On <strong>single posts and static pages<\/strong> (default script loading), with <strong>Front page &amp; blog home<\/strong> <strong>unchecked<\/strong>, supported links are detected only inside the <strong>main content area<\/strong> (typically <code>&lt;main&gt;<\/code>, or <code>.entry-content<\/code> \/ <code>#content<\/code> on themes without <code>&lt;main&gt;<\/code>). Header, footer, and widget areas are <strong>not<\/strong> included.<\/li>\n<li>Enable <strong>Front page &amp; blog home<\/strong> to also load popups on the <strong>site front page<\/strong> and <strong>blog posts index<\/strong>, and to detect links <strong>across the whole page on posts and pages too<\/strong> (header, footer, sidebars, and widgets), not only the main content wrapper.<\/li>\n<li>Add the <strong><code>wepop-disable<\/code><\/strong> class (or wrap markup in an element with that class) to skip popups for specific links or regions.<\/li>\n<\/ul>\n\n<h3>Popup Mode Settings<\/h3>\n\n<p>You can choose how <strong>image<\/strong> links are grouped into popup viewers. This affects slideshow prev\/next and keyboard navigation.<\/p>\n\n<ul>\n<li><p><strong>Gallery Blocks Mode<\/strong><br \/>\nOnly images inside WordPress Gallery blocks are grouped into slideshows. Other image links open on their own.<\/p><\/li>\n<li><p><strong>All Images Mode<\/strong><br \/>\nAll qualifying image links <strong>in the same detection scope<\/strong> are grouped together: <strong>main content only<\/strong> when <strong>Front page &amp; blog home<\/strong> is off; <strong>entire page<\/strong> when it is on (including front\/blog index views).<\/p><\/li>\n<li><p><strong>No Grouping Mode<\/strong><br \/>\nEach image opens individually with no navigation arrows.<\/p><\/li>\n<\/ul>\n\n<h3>Language Support<\/h3>\n\n<p>Admin labels are localized.<\/p>\n\n<p>Supported languages:<\/p>\n\n<ul>\n<li>Japanese<\/li>\n<li>English<\/li>\n<li>Spanish<\/li>\n<li>French<\/li>\n<li>German<\/li>\n<li>Chinese (Simplified)<\/li>\n<li>Italian<\/li>\n<li>Korean<\/li>\n<li>Portuguese (Brazil)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>In WordPress Admin go to <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Search for <strong>WePOP<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Adjust options under <strong>Settings \u2192 WePOP<\/strong> if needed.<\/li>\n<\/ol>\n\n<p>Once activated, WePOP handles supported media links automatically. Use <strong>Front page &amp; blog home<\/strong> if you want popups on the <strong>home page and blog index<\/strong> and, on <strong>posts and static pages<\/strong>, links <strong>outside<\/strong> the main content (e.g. header\/footer banners) to open in the popup as well.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20wepop%20require%20jquery%3F\"><h3>Does WePOP require jQuery?<\/h3><\/dt>\n<dd><p>No. WePOP uses vanilla JavaScript only and has no front-end dependencies.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20block%20editor%20%28gutenberg%29%3F\"><h3>Does it work with the Block Editor (Gutenberg)?<\/h3><\/dt>\n<dd><p>Yes. Grouping is optimized for the Gallery block; you can disable the popup per image in the sidebar.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20classic%20editor%3F\"><h3>Does it work with the Classic Editor?<\/h3><\/dt>\n<dd><p>Yes. Popups work for supported links in content; grouping works best when gallery markup matches WordPress galleries.<\/p><\/dd>\n<dt id=\"how%20do%20i%20use%20popups%20on%20the%20front%20page%20or%20blog%20home%20%28e.g.%20header%2Ffooter%20image%20links%29%3F\"><h3>How do I use popups on the front page or blog home (e.g. header\/footer image links)?<\/h3><\/dt>\n<dd><p>Go to <strong>Settings \u2192 WePOP<\/strong> and enable <strong>Front page &amp; blog home<\/strong>. That loads the popup script on the <strong>front page<\/strong> and <strong>blog posts index<\/strong> and detects supported links <strong>anywhere on those views<\/strong>. It also switches <strong>posts and static pages<\/strong> to <strong>whole-page<\/strong> detection so header, footer, and widget links can open in the popup. With the setting off, only the <strong>main content area<\/strong> (e.g. <code>main<\/code> or <code>.entry-content<\/code>) is used on posts and pages. Use <strong><code>wepop-disable<\/code><\/strong> on a link or wrapper to exclude specific elements.<\/p><\/dd>\n<dt id=\"why%20does%20youtube%20or%20vimeo%20say%20%E2%80%9Cthis%20video%20cannot%20be%20played%E2%80%9D%3F\"><h3>Why does YouTube or Vimeo say \u201cThis video cannot be played\u201d?<\/h3><\/dt>\n<dd><p>Some videos cannot be embedded on external sites due to the uploader\u2019s privacy settings.<\/p><\/dd>\n<dt id=\"why%20doesn%E2%80%99t%20the%20popup%20work%20on%20my%20site%3F\"><h3>Why doesn\u2019t the popup work on my site?<\/h3><\/dt>\n<dd><p>Common causes include caching\/minify plugins altering JavaScript, or themes that change link behavior. Try excluding WePOP scripts from optimization.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%20%28e.g.%20elementor%29%3F\"><h3>Does it work with page builders (e.g. Elementor)?<\/h3><\/dt>\n<dd><p>Often yes if the output is normal links to image or video URLs. Custom HTML or non-standard galleries may limit grouping.<\/p><\/dd>\n<dt id=\"can%20i%20use%20wepop%20alongside%20another%20lightbox%20plugin%3F\"><h3>Can I use WePOP alongside another lightbox plugin?<\/h3><\/dt>\n<dd><p>You can, but two lightboxes on the same links may conflict. Disable or configure the other plugin if clicks behave oddly.<\/p><\/dd>\n<dt id=\"does%20it%20support%20gallery%20plugins%20like%20nextgen%3F\"><h3>Does it support gallery plugins like NextGEN?<\/h3><\/dt>\n<dd><p>Image popups may work, but grouping may not match WePOP\u2019s gallery-block logic.<\/p><\/dd>\n<dt id=\"feedback%20and%20support\"><h3>Feedback and support<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.6.3<\/h4>\n\n<ul>\n<li>Fix: Remove document keydown listener when closing the image popup by any means (not only Escape)<\/li>\n<li>Video popups: Escape key closes MP4, YouTube, and Vimeo overlays<\/li>\n<li>Setting: Enable popups on front page and blog posts index (default off)<\/li>\n<li>Front\/home <strong>off<\/strong>: on posts and static pages, link detection is limited to the <strong>main content<\/strong> wrapper (<code>main<\/code>, <code>.entry-content<\/code>, or <code>#content<\/code> fallback), not header\/footer\/widgets<\/li>\n<li>Front\/home <strong>on<\/strong>: loads on front page and blog index; <strong>whole-page<\/strong> link detection on posts and pages too (header, footer, widgets)<\/li>\n<li>Fix: static front page with Front\/home off no longer loads scripts (avoid <code>is_page()<\/code> running before front check)<\/li>\n<li>Add svg to content filter for data-wepop (matches JS image detection)<\/li>\n<li>Enqueue script, style, and editor script with WEPOP_VERSION<\/li>\n<li>REST POST \/wepop\/v1\/disable: args schema and sanitize; response shape success, url, disabled_links<\/li>\n<li>Accessibility: aria-label on close and prev\/next controls (localized via wp_localize_script)<\/li>\n<li>Image lightbox: optional alt captions <strong>slide horizontally with<\/strong> slideshow images<\/li>\n<li>Alt captions use a <strong>dedicated row below the image<\/strong> so text stays on the dimmed overlay (tall images no longer cover the caption)<\/li>\n<li>Alt caption styling: <strong>no background bar<\/strong>; white text with shadow for contrast on the overlay<\/li>\n<li>Updated translations and settings screen copy (link scope and Front page \/ blog home)<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>Improved slideshow transitions for images with different sizes<\/li>\n<li>Improved slide animation for grouped galleries<\/li>\n<li>Updated alt text display position and styling<\/li>\n<li>Alt text element is now hidden when empty<\/li>\n<li>Fixed popup closing behavior when clicking the mask area<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Added popup support for YouTube, Vimeo, and MP4 videos<\/li>\n<li>Added per-image \u201cDisable Popup\u201d option in the editor sidebar<\/li>\n<li>Improved file-type detection and popup trigger logic<\/li>\n<li>Enhanced slideshow transitions when grouping is enabled<\/li>\n<li>Added basic information display in the settings screen<\/li>\n<li>Updated translations and improved language consistency<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Added Popup Mode setting (Gallery \/ All \/ None)<\/li>\n<li>Added swipe navigation on smartphones<\/li>\n<li>Disabled background scrolling while popup is open<\/li>\n<li>Added 3 new languages: Italian, Korean, Portuguese (Brazil)<\/li>\n<li>Updated translation template<\/li>\n<\/ul>\n\n<h4>1.5.4<\/h4>\n\n<ul>\n<li>Updated wording for \u201cNo grouping\u201d mode<\/li>\n<li>Added missing gettext wrappers<\/li>\n<li>Updated .pot and ja_JP translation files<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Added image grouping mode setting<\/li>\n<li>Standalone images open individually in gallery mode<\/li>\n<li>Improved multilingual loading system<\/li>\n<li>Updated translations<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Corrected data-wepop attribute naming<\/li>\n<li>Improved documentation and translations<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Improved multilingual interface<\/li>\n<li>Updated settings UI<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>First public release<\/li>\n<\/ul>","raw_excerpt":"jQuery-free lightbox for WordPress: images, SVG, MP4, YouTube &amp; Vimeo in a clean popup\u2014Gutenberg-friendly.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/236081","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=236081"}],"author":[{"embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wedok"}],"wp:attachment":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=236081"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=236081"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=236081"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=236081"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=236081"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=236081"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}