MakeITeasy Popup
by Lovro Hrust on WordPress.org

Standard modal popup
Need popups to grab your users’ attention? Marketing call-to-actions that open on scroll, timer, click, matched referer or even hover?
Multiple popups on one page? This plugin has it all. It provides styling consistent with core block editor blocks plus additional features.
Why choose Makeiteasy Popup?
▶️ Unlike some other plugins, Makeiteasy Popup integrates seamlessly with WordPress,
feeling like a native, built-in WP block. It’s lightweight and self-sufficient,
without the heavy burden of a large blocks library.
It relies on a single tiny dependency – micromodal.js – with a combined total of only 10 kB of JavaScript❕
👆 Try demo – there is a “Live preview” button on the top of this page 👆
❗ Sometimes “Live preview” does not start due to slower responds of servers with resources. If progress stops with black screen or
progress indicator does not advance anymore (loading should be finished at max 30 seconds) – in that case please refresh the page in browser.
Key Features
- 🥇 Feature-Rich and free.
- 🥈 Fully Open Source: Including the block source code. Fork and adjust as needed.
- 🥉 Developer friendly: Hooks for modifications and unopinionated starting CSS.
- ⏲️ Future-Proof Compatibility: Guaranteed compatibility with future WordPress versions.
🆕✨ Improved handling of long content in popups. Mobile sizing is improved as well.
⚠️ This is the last version which will support WordPress 6.5 and below. I am switching to newer development environment which is WP6.6+ compatible.
Please open ticket in support section if that’s a problem.
🆕 Added roadmap section in development tab
⏱️❗Queue if another popup is opened, popup is placed in queue and opened upon closing the former.
Known limitations
Currently, opening several modal popups simultaneously is impossible due to the limitations of the Micromodal.js library.
Future versions will replace this library with the native Dialog
HTML element, including automatic migration for existing popups.
Block options
The block sidebar provides many options, most of which function similarly to other blocks. Notable options include:
– Opening time selector: See the detailed section below.
– Layout type: Floating, Fixed, Attached
– Popup Enabled: Temporarily hide the popup without deleting it.
– Open on interval: Open on given interval in days.
– Open on matching referer: Open if the user’s referral URL matches.
Layout Types
- Floating: popup floats above content. Clicking on area outside popup closes it.
- Fixed: popup is “fixed” to one of sides of screen — top, bottom, right, left
- Attached: popup is attached to element on screen. When user scrolls, it moves with it.
Modality
- Modal: popup blocks everything else on screen, scrolling is not possible, popup can be closed by clicking outside of popup
- Modeless: popup is non-blocking, user can scroll, popup can’t be closed by clicking outside of popup
Developers
Github repository
https://github.com/Lovor01/makeiteasy-popup
Changing the Close button
Using Javascript:
import { ReactComponent as CloseIcon } from '../assets/close-x.svg';
addFilter( 'makeiteasy-closeButtonIcon', 'makeiteasy/makeiteasy-popup/close-icon', () => ( ) );
If you customize button this way and you already have posts(or pages) with popup block,
on post reopening the message “This block contains unexpected or invalid content.” will be presented.
In such case choose “Attempt to repair block” and if it looks good, save post.
Using PHP:
add_action( 'render_block_makeiteasy/popup', function($content) {
$svg = file_get_contents( __DIR__ . '/path_to_file/close-button-dark.svg' );
return preg_replace(
'~().*()~m',
"$1$svg$2",
$content
);
} );
Attaching Code to Modal Events
Custom events ‘makeiteasy/openModal’ and ‘makeiteasy/closeModal’ are fired on modal open and close. Events fire on modal itself, DOM element
with class .wp-block-makeiteasy-popup
.