Design a beautiful modal popup with a live preview, then choose when it appears, how often, and on which pages — no code required. Grow your newsletter, announce a sale, highlight a lead magnet, or show a cookie or age notice.
v1.0.1 · .zip · WordPress 5.6+ · PHP 7.2+ · free · GPL-2.0+
Demfilz Modal Popups lets you build a polished, on-brand modal popup for your WordPress site entirely from the admin — with a live preview pane that updates as you change each design option, so you see exactly what visitors will see before you publish.
Write a heading, body text and a call-to-action button with its own link, and add an optional image from the Media Library. The body accepts basic HTML and shortcodes — so you can embed a Contact Form 7 (or other) form right inside the popup.
Style every part with colour pickers — background, text, heading, button, button text and the page overlay (with opacity) — pick from five built-in font styles (all system fonts, no external requests), set the position (centre, top or bottom), width, corner radius, padding and text alignment, and finish with an entrance animation: zoom, fade, slide up, slide down or none.
Add a button that opens the popup with the shortcode:
[modal_popup_button text="Open the popup"]
Or set the trigger to “Button / link click” and point it at any CSS selector (for example a menu link). Any element with the class dmp-open will also open the popup. Details are in the setup guide.
A popup sits front-and-centre on every page it runs on — so this one is built carefully.
The popup is a proper dialog (role="dialog", aria-modal): it traps focus while open, restores focus on close, locks background scrolling, and respects the visitor's “reduce motion” setting.
The CSS and JavaScript are small and load only on pages where the popup is set to appear. Fonts are system fonts — no external or Google Font requests, and no third-party calls at all.
Built to the WordPress Coding Standards (clean against PHP_CodeSniffer and Plugin Check), PHP 7.2+ compatible, with the popup body sanitised on save so only basic, safe HTML gets through.
Upload the plugin zip and activate it, then open Modal Popups in the admin menu.
Write your content and style the popup on the Design tab, watching the live preview.
Choose the trigger, frequency, close options and which pages it appears on.
Tick Enable popup and save — it's live.
No cookies. “Once per session” uses the browser's sessionStorage and “once every X days” uses localStorage — nothing is stored on your server and no third-party requests are made.
Download the plugin, upload it to WordPress and activate — then design your popup with the live preview.
.zip · ~24 KB · WordPress 5.6+ · PHP 7.2+ · GPL-2.0+
Download the plugin (.zip)Free and open source (GPL-2.0-or-later). No account needed, no external services — everything runs on your own site.
Yes — it's completely free (GPL-2.0-or-later) with no paid tier and no account required. It isn't listed in the WordPress.org plugin directory; you download the .zip from this page, then upload and activate it in WordPress like any other plugin. It runs on WordPress 5.6+ (tested up to 7.0) and PHP 7.2+.
Yes. Set the trigger to exit intent and the popup appears the moment the visitor's mouse leaves the window — the classic point to offer a discount or newsletter signup before they go. Pair it with a frequency rule such as once per session or once every X days so returning visitors aren't nagged by the same popup.
Build it on the Design tab: write a heading and body text, add a call-to-action button with its own link, and optionally an image from the Media Library. The body accepts shortcodes, so you can paste a signup form straight in — for example a Contact Form 7 shortcode — and the form is rendered inside the popup on the front end. Then choose a trigger and frequency on the Behaviour & Display tab.
Choose the on-page-load trigger on the Behaviour & Display tab and the popup opens as soon as the page loads. If an instant popup feels too pushy, you can instead fire it after a time delay, after the visitor scrolls a set percentage of the page, on exit intent, or when a button or link is clicked.
Yes. The frequency setting offers every visit, once per session, or once every X days. The choice is remembered in the visitor's own browser — once per session uses sessionStorage and once every X days uses localStorage — so nothing is stored on your server and no cookies are set.
Yes — everything is done from the WordPress admin with a live preview that updates as you change each option: colours, five built-in font styles, position, width, corner radius, padding, text alignment and entrance animation. No code is required; a CSS selector only comes into it if you choose the optional button/link-click trigger.
This one won't. The CSS and JavaScript are small and load only on pages where the popup is configured to appear. The five font styles are all system fonts, so there are no external or Google Font requests, and the plugin makes no third-party requests at all.
Popups, marketing tools, integrations or something entirely custom — this is the kind of thing we build. Tell us what you need and we'll come back with a plan and a fixed quote.