Title: BannerMonster
Author: Marco De Sangro
Published: <strong>2026 年 9 月 4 日</strong>
Last modified: 2026 年 9 月 4 日

---

搜尋外掛

![](https://ps.w.org/bannermonster/assets/banner-772x250.png?rev=3681260)

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

# BannerMonster

 由 [Marco De Sangro](https://profiles.wordpress.org/ideagrafica/) 開發

[下載](https://downloads.wordpress.org/plugin/bannermonster.1.6.0.zip)

 * [詳細資料](https://tw.wordpress.org/plugins/bannermonster/#description)
 * [使用者評論](https://tw.wordpress.org/plugins/bannermonster/#reviews)
 *  [安裝方式](https://tw.wordpress.org/plugins/bannermonster/#installation)
 * [開發資訊](https://tw.wordpress.org/plugins/bannermonster/#developers)

 [技術支援](https://wordpress.org/support/plugin/bannermonster/)

## 外掛說明

BannerMonster lets you create custom banners and popups for your WordPress site 
with advanced targeting rules.

**Types:**

 * Top banner (fixed bar at top)
 * Bottom banner (fixed bar at bottom)
 * Center popup
 * Bottom-right popup
 * Bottom-left popup

**Display rules:**

 * All pages
 * All posts
 * All custom post types
 * Specific pages, posts or CPTs
 * Specific URLs (partial match, case-insensitive, trailing-slash tolerant)
 * Taxonomies (categories, tags, custom taxonomies)

**Triggers:**

 * Immediate
 * After X seconds
 * Exit intent (mouse leaves viewport)
 * At X% page scroll

**Reappearance control:**

 * Set how many minutes after closing a banner should reappear
 * 0 = never reappear after closing
 * Close state stored in browser localStorage, persists across sessions

**Customization:**

 * Background, text and border colors with color pickers
 * Padding, font size, border width
 * Width (%) and max-width (px) for popups
 * Custom CSS classes per banner
 * Close button with configurable persistence
 * Overlay for popups with optional close-on-click

**Accessibility (WCAG 2.2):**

 * Native HTML `<dialog>` element for popups — focus trap, Escape key, backdrop 
   managed by the browser
 * `role="dialog"` and `aria-modal="true"` applied automatically
 * `aria-label` on each dialog using the banner title
 * Keyboard-only navigation: Escape to close, Tab cycling trapped inside popup
 * Backdrop click closes popup (configurable)
 * `:focus-visible` styling for keyboard users
 * Screen reader compatible (VoiceOver, NVDA, JAWS)

**Debug mode:**

 * Append ?bannermonster_debug=1 to any URL to bypass localStorage persistence
 * Banner appears on every page load regardless of close state

**Zero dependencies** on the frontend. jQuery is only used in the admin area.

**Performance:**

 * Frontend assets loaded only when active banners exist on the page
 * Vanilla JavaScript, no frameworks
 * WordPress object cache for database queries
 * Admin assets loaded only on BannerMonster screens

## 螢幕擷圖

[⌊Banner type and configuration settings⌉⌊Banner type and configuration settings⌉[

Banner type and configuration settings

[⌊Display rules with targeting options⌉⌊Display rules with targeting options⌉[

Display rules with targeting options

[⌊Trigger configuration with reappear control⌉⌊Trigger configuration with reappear
control⌉[

Trigger configuration with reappear control

[⌊Style and customization options⌉⌊Style and customization options⌉[

Style and customization options

## 安裝方式

 1. Upload the `bannermonster` folder to `/wp-content/plugins/`
 2. Activate the plugin through the Plugins menu in WordPress
 3. Go to the BannerMonster menu in your dashboard
 4. Create your first banner or popup

## 常見問題集

### Does the plugin load any external scripts?

No. The frontend uses vanilla JavaScript with zero dependencies. No Google Fonts,
no analytics, no tracking, no CDN-loaded libraries. jQuery is never loaded on the
public side.

### How does the close button work?

When a visitor closes a banner or popup, the plugin stores the ID and timestamp 
in the browser’s localStorage. On subsequent page views, BannerMonster checks this
and skips banners still within the configured reappear period. The data stays entirely
in the visitor’s browser.

### How does the reappear control work?

In the Trigger metabox, set “Ricompari dopo (min)” to the number of minutes after
which the banner should show again. Set to 0 to never show again after closing. 
The close state is stored locally in the browser with a timestamp, so it persists
across page views and sessions.

### Can I show a banner only on specific pages?

Yes. In the display rules you can choose from: all pages, all posts, all CPTs, specific
pages, specific posts, specific CPTs, specific URLs, or specific taxonomy terms.
URL matching is flexible: enter a full URL or just a path, and BannerMonster handles
trailing slashes, case differences and protocol variations.

### How does debug mode work?

Add ?bannermonster_debug=1 to any URL on your site. When this parameter is present,
all banners appear on every page load regardless of localStorage state. Useful during
development and testing. A notice appears in the admin metabox when debug mode is
active.

### Does it work with page builders like Elementor, Divi or WPBakery?

Yes. BannerMonster uses high-specificity CSS selectors with !important declarations
to ensure your banner styles are applied regardless of what your theme or page builder
does.

### Can I use custom CSS classes?

Yes. Each banner has a CSS Class field for adding custom CSS classes that are applied
to the banner container.

### Does it conflict with caching plugins?

No. BannerMonster uses standard WordPress hooks. The banner HTML is rendered in 
the footer, and JavaScript handles visibility based on localStorage. Page caching
plugins work normally.

### How many banners can I create?

There is no limit. BannerMonster uses a custom post type. The plugin loads up to
50 active banners per page view.

### Does it support WooCommerce product categories?

Yes. If your WooCommerce product categories are registered as a public taxonomy,
you can target banners to specific product categories using the taxonomy display
rule.

### Is the plugin translation-ready?

Yes. All user-facing strings use WordPress translation functions with the ‘bannermonster’
text domain.

## 使用者評論

這個外掛目前沒有任何使用者評論。

## 參與者及開發者

以下人員參與了開源軟體〈BannerMonster〉的開發相關工作。

參與者

 *   [ Marco De Sangro ](https://profiles.wordpress.org/ideagrafica/)
 *   [ incod ](https://profiles.wordpress.org/incod/)
 *   [ marcods ](https://profiles.wordpress.org/marcods/)

[將〈BannerMonster〉外掛本地化為台灣繁體中文版](https://translate.wordpress.org/projects/wp-plugins/bannermonster)

### 對開發相關資訊感興趣？

任何人均可[瀏覽程式碼](https://plugins.trac.wordpress.org/browser/bannermonster/)、
查看 [SVN 存放庫](https://plugins.svn.wordpress.org/bannermonster/)，或透過 [RSS](https://plugins.trac.wordpress.org/log/bannermonster/?limit=100&mode=stop_on_copy&format=rss)
訂閱[開發記錄](https://plugins.trac.wordpress.org/log/bannermonster/)。

## 變更記錄

#### 1.6.0

 * Removed custom CSS field to comply with WordPress.org plugin guidelines.
 * Renamed all internal prefixes from `bm` to `bannermonster` for unique naming 
   compliance.
 * Post type renamed from `bm_banner` to `bannermonster_banner`.
 * All meta keys, options, cache keys and JS variables now use `bannermonster_` 
   prefix.
 * Debug parameter renamed from `?bm_debug=1` to `?bannermonster_debug=1`.
 * localStorage key renamed from `bm_closed` to `bannermonster_closed`.
 * Enqueue handles renamed to `bannermonster-front` and `bannermonster-admin`.
 * CSS classes renamed from `bm-*` to `bannermonster-*`.

#### 1.5.0

 * Migrated popups and banners from `<div>` to native HTML `<dialog>` element.
 * Full WCAG 2.2 compliance: focus trap, Escape key, backdrop click, aria-label.
 * Removed manual overlay DOM element — now using `::backdrop` pseudo-element.
 * Removed `show()`, `hide()`, `bindEvents()` JavaScript functions.
 * Added `setupBackdropClose()` for native dialog close and cancel events.
 * Added `isModal()` helper for popup detection.
 * Simplified CSS: removed `.bm-overlay`, `.bm-wrap`, `.bm-visible` selectors.
 * Reduced frontend JS from ~169 to ~189 lines (net ~20 more, but removed 3 functions).
 * Reduced frontend CSS from 157 to 176 lines.
 * Removed `data-overlay` and `data-close` data attributes.
 * Added `backdrop_close` to localized script data.
 * Close button now wrapped in `<form method="dialog">` for native close behavior.
 * Banners use `open` attribute; popups use `showModal()` for focus trap.

#### 1.0.0

 * Initial release.

## 中繼資料

 *  版本 **1.6.0**
 *  最後更新 **3 週前**
 *  啟用安裝數 **少於 10 次**
 *  WordPress 版本需求 ** 5.8 或更新版本 **
 *  已測試相容的 WordPress 版本 **7.1.2**
 *  PHP 版本需求 ** 7.4 或更新版本 **
 *  語言
 * [English (US)](https://wordpress.org/plugins/bannermonster/)
 * 標籤:
 * [banner](https://tw.wordpress.org/plugins/tags/banner/)[conversion](https://tw.wordpress.org/plugins/tags/conversion/)
   [marketing](https://tw.wordpress.org/plugins/tags/marketing/)[modal](https://tw.wordpress.org/plugins/tags/modal/)
   [popup](https://tw.wordpress.org/plugins/tags/popup/)
 *  [進階檢視](https://tw.wordpress.org/plugins/bannermonster/advanced/)

## 評分

這個項目尚無任何評論記錄。

[撰寫評分](https://wordpress.org/support/plugin/bannermonster/reviews/#new-post)

[查看全部使用者評論](https://wordpress.org/support/plugin/bannermonster/reviews/)

## 參與者

 *   [ Marco De Sangro ](https://profiles.wordpress.org/ideagrafica/)
 *   [ incod ](https://profiles.wordpress.org/incod/)
 *   [ marcods ](https://profiles.wordpress.org/marcods/)

## 技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

 [檢視技術支援論壇](https://wordpress.org/support/plugin/bannermonster/)