WordPress · Popups Free

Demfilz Modal Popups

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+

WordPress 5.6+ (tested to 7.0) PHP 7.2 or newer No code — design with a live preview

What it does

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.

Design it visually

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.

Open it from anywhere

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.

Built right

Engineered to platform standards

A popup sits front-and-centre on every page it runs on — so this one is built carefully.

Accessible by default

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.

Light on the page

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.

Coding standards

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.

How it works

Live in four steps

1

Install

Upload the plugin zip and activate it, then open Modal Popups in the admin menu.

2

Design

Write your content and style the popup on the Design tab, watching the live preview.

3

Behaviour & display

Choose the trigger, frequency, close options and which pages it appears on.

4

Enable

Tick Enable popup and save — it's live.

Read the full setup guide →
behaviour & display
# when should it appear?
trigger ..... exit intent ✓
frequency ... once every 7 days
# where, and to whom?
show on ..... all pages · logged-out only

// open it from any button or link:
[modal_popup_button text="Get the guide"]

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

Get Demfilz Modal Popups — free

Download the plugin, upload it to WordPress and activate — then design your popup with the live preview.

Demfilz Modal Popups v1.0.1

.zip · ~24 KB · WordPress 5.6+ · PHP 7.2+ · GPL-2.0+

Download the plugin (.zip)

Read the setup guide →

Free and open source (GPL-2.0-or-later). No account needed, no external services — everything runs on your own site.

FAQs

Common questions

Is Demfilz Modal Popups a free WordPress popup plugin?

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+.

Can I make an exit intent popup in WordPress with this plugin?

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.

How do I create a newsletter signup popup in WordPress?

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.

How do I show a popup on page load in WordPress?

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.

Can I show the popup only once per visitor?

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.

Can I build a WordPress popup without coding?

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.

Will a popup plugin slow my WordPress site down?

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.

Need a WordPress plugin like this?

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.