This integration shows any content in a modal window over the site and lets you decide what opens it. It is self contained, with no third party plugin required.
Everything else follows from one idea: a modal is its own entry with its own settings, not a property of a page. You create the window once, and it opens on the site by its own rules.
#What people use it for
- a newsletter signup that appears after a visitor has read for a while
- an announcement, a sale or a notice that has to be seen once
- a form, a video or an image that opens from a button instead of taking space on the page
- a message for visitors about to leave
#Creating a modal
Turn the integration on
Install Modals and switch it on from the Integrations page of the theme dashboard, as described in installing and managing plugin integrations. A Modals item then appears in the WordPress sidebar.
Add a modal
Open ModalsAdd Modal. The title is for you, and it can also be shown as the window's heading.
Choose the content
In the Modal Configuration panel, the Content tab sets the Content source. The window's look, trigger and rules sit in the tabs next to it.
Set what opens it and where
Pick a trigger under Trigger, how often it may show under Frequency, and which pages it may appear on under Visibility.
Publish and test
Only published modals appear on the site. Test in a private browser window, as described under testing below.
#What goes inside
The Content source has up to four choices:
- Rich editor
Text, links and shortcodes typed into the Body field. The simplest choice for a message or a short form.
- Elementor template
A saved Elementor template. The choice only appears while Elementor is active.
- Block pattern
A pattern registered by the theme or a plugin, or one you saved yourself in the block editor.
- Post content
Whatever you build in the modal's own editor.
Show title and Show subtitle apply to the rich editor only.
An Elementor template, a block pattern and post content bring their own heading, so the built-in heading and subtitle are not drawn for them. It is the one thing on this screen that surprises people.
#Triggers
The Open when setting on the Trigger tab decides what opens the window.
- After a delay
The window opens a set number of seconds after the page loads.
- After scrolling
Scrolling down past a page depth in percent, or scrolling back up by a set distance in pixels, opens it.
- When an element appears
The window opens when an element you name with a CSS selector scrolls into view. Useful when it should follow a particular block.
- After page clicks
The window opens after the visitor has clicked anywhere on the page a set number of times.
- After inactivity
The window opens after the visitor has stopped interacting for a set number of seconds.
- On exit intent
The window opens when the mouse leaves the top of the browser window. It needs a mouse, so it never fires on a phone or tablet, and it is the easiest trigger to make annoying.
- When an element is clicked
The window opens when a visitor clicks anything matching the CSS selector you enter. The politest trigger, because the visitor asked for it.
- Manual only
Nothing opens the window on its own. A link or a script opens it, as described below.
#Opening a modal from a button or a link
Every modal has an ID on the page. You set it in the Trigger ID field; left empty, it is jkd-modal- followed by the modal's post ID.
A link whose address ends in # plus that ID opens the modal instead of jumping. So a menu item or a button with the address #newsletter opens the modal whose Trigger ID is newsletter, whatever its own trigger is set to.
For developers, the same window opens from JavaScript:
window.jkdModals.open('newsletter');
A link only works on pages where the modal is allowed to appear, because a modal outside its Visibility rules is not on the page at all.
#Frequency, devices and pages
Every page view (no memory), Once per session, or Once per visitor. Once per visitor shows Remember visitor (days), 30 by default, after which the visitor can see it again.
Desktop, Tablet and Mobile, all three ticked by default. On a phone a modal covers most of the screen, so leaving Mobile out is a reasonable decision.
Everywhere, Specific pages, Specific post types, or Specific IDs (manual) as a comma separated list.
Where a visitor's "already seen" is remembered is a site-wide setting, Visitor memory, covered below.
Keep one window per situation.
Two modals that open on similar conditions land on top of each other while the visitor is still reading the first. Split them by page or by trigger instead.
#Appearance and behavior
The Layout tab sets the Modal frame (Predefined, or Blank so your content fills the overlay without a panel), the Modal size from Small (360px) to X-Large (800px) or a Custom width (px), Corner radius (px) and Inner padding (px). It also holds the close button: Show close button and Close button position, inside the panel or on the overlay. Without a close button, visitors can still close the window by clicking the overlay or pressing Esc.
The Overlay tab covers the backdrop: Blur the background with its Blur strength (px), Overlay color (empty uses the theme's own) and Overlay opacity (%), plus Lock page scroll and Close on scroll.
#The global settings
Theme OptionsIntegrationsModals holds two settings for all modals:
How a visitor's viewed modals are remembered on their device, in browser storage or in cookies.
Opens every modal on each page load for logged-in administrators, ignoring the frequency limits.
#Testing before launch
Turn Developer preview on while you set up, so you do not have to wait for triggers or clear memory between attempts. Switch it off before the site goes live, or you will keep seeing every window and conclude the frequency setting is broken.
The real check: open the site in a private browser window and walk through the scenario the way a visitor will. Modals never open inside the Customizer preview or the Elementor editor, so test on the live page.
#Do not combine it with another popup or modal plugin
Run one popup system on a site. A second popup, modal or lightbox plugin working on the same pages tends to collide with this one in predictable places: both react to the same click triggers and links, both lock and unlock page scrolling so one can leave the page frozen, and their windows compete for the top layer, so one opens hidden behind the other.
If you need a feature only another plugin has, use that plugin instead of this integration rather than both. Problems caused by a third party plugin, including conflicts between it and our integration, are outside what support covers, as the Support Policy sets out.
This integration is licensed with the theme, not on its own.
Integrations are premium functionality for customers running a Pro license of one of our themes. They are written against our themes and expect them, and we cannot support or take responsibility for what one does inside somebody else's theme. See how theme integrations work.
#Common questions
Can I show a different modal on different pages?
Yes. Each modal carries its own Display on rule, so the normal pattern is one modal per situation rather than one modal with conditions piled onto it.
How do I put a signup form in a modal?
With the Rich editor source, paste the form's shortcode into the Body field; the Mailchimp form has one. With Post content or a block pattern, add the form's block instead.
Can I open a modal from a menu item?
Yes. Add a custom link to the menu with the address # plus the modal's Trigger ID, and make sure the modal is allowed on the pages where the menu shows.
My modal shows every time despite the frequency setting
Developer preview is still on, and it ignores frequency on purpose for administrators. Also check that How often is not set to Every page view (no memory), then test in a private window.
A modal never appears
Check that the modal is published and the integration is switched on. Then check that the page is covered by Display on, that your device is ticked in Display devices, and that the trigger can happen on that page: a scroll trigger on a short page never fires, and exit intent never fires on a phone. Finally, your own earlier visit may have used up its single showing, so try a private window.
Page scrolling stays locked, or a window opens behind something
That is the typical sign of a second popup, modal or lightbox plugin on the site. Deactivate the other plugin and test again. If the problem goes away, keep one of the two.
Still stuck?
Open a support request with the page address, the modal's trigger and frequency settings, and the list of active plugins.
#Still stuck
Open a support ticket and say what you tried and where it stopped. Your product, your domain, a screenshot and the exact message you saw are usually enough to settle it in one reply.
Last updated