Title: Emberly Popups
Author: Emberly Digital
Published: <strong>May 9, 2025</strong>
Last modified: July 27, 2025

---

Search plugins

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

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

# Emberly Popups

 By [Emberly Digital](https://profiles.wordpress.org/emberlydigital/)

[Download](https://downloads.wordpress.org/plugin/emberly-popups.1.3.zip)

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

 [Support](https://wordpress.org/support/plugin/emberly-popups/)

## Description

**Emberly Popups** is a simple PHP function that generates ARIA‑compliant modal 
popups. Great for newsletters, surveys, announcements, or any call‑to‑action:

 * Auto‑open after a configurable delay
 * Cookie‑ or session‑based “show once” control
 * Repeat interval (milliseconds) between popups
 * Shortcode support inside popup content
 * Adjustable width and padding
 * Accessible markup with proper ARIA roles

### Usage

### PHP 8+ (named arguments)

“`php
 emberly_popup( title : ‘Welcome!’, content : ‘

Thanks for visiting our site. Don’t miss our latest offers!

‘,
 id : ‘welcome-popup’, width : ’50rem’, padding : ‘3rem’, echo : true, output_shortcodes:
true, auto_open : true, delay : 2000, show_once : false, persistence_method: ‘session’,
show_interval_ms : 1800000 // 30 minutes ); `<h3>PHP 7 & earlier (ordered arguments)
</h3>\`\`\`php emberly_popup( '', // $title '<p>Thanks for visiting our site. Don't
miss our latest offers!</p>', 'category-survey-popup', // $id '50rem', // $width'
3rem', // $padding true, // $echo true, // $output_shortcodes true, // $auto_open
2000, // $delay false, // $show_once 'session', // $persistence_method 1800000 //
$show_interval_ms );

### Manual triggers

Anywhere in your markup, add:
 `html <a href="#" em-popup-trigger-id="welcome-popup"
>Open Welcome Popup</a> The em-popup-trigger-id value must match the $id you set
in emberly_popup().

### Parameters

 Parameter
 Type Default Description

 title
 string ” Popup heading text.

 content
 string ” HTML for the popup’s body.

 id
 string ” Unique popup identifier (required for cookies/sessions & triggers).

 width
 string ’60rem’ CSS max-width for the popup container.

 padding
 string ‘3rem’ Inner padding inside the popup.

 echo
 bool true Echo the markup immediately (false to return as string).

 output_shortcodes
 bool false Process WordPress shortcodes in `content`.

 auto_open
 bool false Automatically open after `delay` ms.

 delay
 int 0 Milliseconds to wait before auto-open.

 show_once
 bool false If true, shows only once per session/cookie period.

 persistence_method
 string ‘cookie’ Where to store “shown” flag: ‘cookie’ or ‘session’.

 show_interval_ms
 int 0 Minimum interval (ms) before showing again. 0 disables 
repeats.

 debug
 bool false Log internal events to browser console (load, open, cookies, 
scroll lock).

### Debugging

Add `debug: true` (PHP 8+) or append `true` as the 13th argument (PHP 7) to enable
console logging:

    ```
    `php
    ```

// PHP 8+ example
 emberly_popup( title : ‘Debug Popup’, content: ‘

Debugging is on!

‘,
 id : ‘debug-popup’, debug : true ); `

## Installation

 1. Copy the **emberly_popup()** function into your theme’s `functions.php` or a custom
    plugin.
 2. Enqueue or include the popup’s CSS and JS assets.
 3. Ensure `assets/icons/close.svg` exists (used for the close button).
 4. Call `emberly_popup()` anywhere in your PHP templates.

## FAQ

### What if I don’t set an ID?

An ID is required for cookies/sessions and manual triggers; omit at your own risk.

### Can I use shortcodes in my popup?

Yes—set `output_shortcodes` to `true`.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

 *   [ Emberly Digital ](https://profiles.wordpress.org/emberlydigital/)

[Translate “Emberly Popups” into your language.](https://translate.wordpress.org/projects/wp-plugins/emberly-popups)

### Interested in development?

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

## Changelog

#### 1.3

 * Fixed minor CSS selector issue in nested themes.
 * Added `debug` parameter to PHP 7 ordered args example.
 * Improved README formatting for WP.org.
 * Fixed trigger logging order. Now logs triggers before content by moving the trigger
   handler up to the body.
 * Added compatibility to override smooth scrolling when closing a popup.

#### 1.2

 * Added `debug` logging support.
 * Support for PHP 8 named arguments.

#### 1.0

 * Initial public release.

## Meta

 *  Version **1.3**
 *  Last updated **10 months ago**
 *  Active installations **10+**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **6.8.5**
 * Tags
 * [accessible](https://wordpress.org/plugins/tags/accessible/)[developer](https://wordpress.org/plugins/tags/developer/)
   [modal](https://wordpress.org/plugins/tags/modal/)[overlay](https://wordpress.org/plugins/tags/overlay/)
   [popup](https://wordpress.org/plugins/tags/popup/)
 *  [Advanced View](https://wordpress.org/plugins/emberly-popups/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/emberly-popups/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/emberly-popups/reviews/)

## Contributors

 *   [ Emberly Digital ](https://profiles.wordpress.org/emberlydigital/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/emberly-popups/)