Skip to main content

HootBox

It's like a box of chocolates, you never know what you're gonna get!
Latest Version
0.9.14
Requires
Yootheme Pro 5+, Joomla 5+, WordPress 6.5+, PHP 8.1 or newer
Release date
05 October 2026
Made for
Yootheme Pro, Joomla, Wordpress
License
GPL-2.0-or-later
Price
€15.00 (incl. 6 months of updates)
The smart popup element for YOOtheme Pro. Place any content, then decide when it appears, how often, and who sees it.

What's new in version 0.9.14

  • Changed: The Behaviour tab is now called Rules
  • Fixed: Closing the popup pauses video and audio in it, including YouTube and Vimeo embeds
  • Fixed: Embeds in a popup load when the popup opens for the first time, not when the page loads; autoplay video starts only then
  • Fixed: The Google warning in the builder is readable on dark sections
Hootbox

    Description

    HootBox is the smart popup element for YOOtheme Pro. You build the popup in the builder like any other section, with text, images, video, a form or a module inside it, and then you decide the part that actually matters: when it appears, how often, and who gets to see it.

    A popup does not have to be a box in the middle of the screen. Pick a centred dialog when you need an answer, a bar for an announcement, a corner panel for a quiet hint, a side panel for a form, or a full screen welcome mat. Ten placements in total, each one using the card styles of your theme, so it matches the rest of the site without a line of extra CSS.

    Timing is where a smart popup earns its keep. Open on page load after a delay, at a scroll depth, when a chosen element comes into view, on exit intent, after a period of inactivity, or on a click on any link or button you point at. Give it a start and an end date, weekdays and a daily time window, and the Christmas banner disappears on the twenty sixth without anyone logging in.

    Then decide how often. Every page load, once per session, once per visitor, or again after a number of days. Cap the number of views, choose whether a view counts on open, on close or only after a button click, and add a do not show again checkbox for the people who mean it. All of it is kept in the visitor's browser: no cookies and nothing sent to our servers. NOTICE.txt in the download describes it, ready to copy into your privacy statement. If your site runs Google Tag Manager, HootBox passes open, close and button clicks to it, so you can count them there.

    Show it to guests only or to logged in users only, limit it to phones or desktops, give phones a bottom bar instead of a blocking modal, and match the language of the page, a campaign parameter in the address or the site the visitor came from.

    Built with Google's guidance on intrusive interstitials in mind. One setting gives phones a bottom bar instead of a blocking popup, and the help text next to each timing field says what is safe. A blocking popup is a real dialog with focus handling and an Escape route, and visitors who ask their system for less motion get no animation at all.

    One element, one licence, the same behaviour on Joomla and on WordPress.

    Feature request

    What is the next feature for this plugin?

    Submit your idea or vote on existing ones.


      Changelog


      v0.9.14
      Changed
      • The Behaviour tab is now called Rules, so the panel heading has room for the element name.
      Fixed
      • A video kept playing after the popup was closed, sound included. Closing now pauses video and audio in the popup, and YouTube and Vimeo embeds as well.
      • A YouTube video, Vimeo video, map or other embed inside a popup was loaded for every visitor as soon as the page opened, even when the popup never appeared. Embeds now load when the popup opens for the first time, and video set to autoplay starts only then. In the builder everything stays visible as before.
      • The Google warning in the builder was hard to read on a dark section. It now has its own light background.
      v0.9.13
      Added
      • Waits for the cookie banner. Automatic triggers hold back while a cookie banner is on screen and start once the visitor has answered it, so the popup never lands on top of the banner. Works with the YOOtheme Pro consent manager and the banners of Cookiebot, CookieYes, Complianz, OneTrust and Cookie Consent. On by default, also for popups you already built; switch it off under Triggers. A link or button that opens the popup is never held back.
      • Only on pages and Never on pages. One address part per line, for example /blog or /checkout. Handy when the popup sits in the footer or in a module that appears on every page: show it everywhere except the checkout, or only on the blog.
      • A warning in the builder when a popup covers the page on phones less than 5 seconds after arrival. Google can rank such pages lower; the warning says what to change. Visitors never see it.
      Changed
      • Five tabs instead of six in the settings panel. Audience, Pages and Source now sit under Behaviour, so the panel heading no longer gets squeezed by the tabs.
      v0.9.12
      Changed
      • Updates need an activated licence key, on Joomla and on WordPress. Joomla shows the key with the HootBox update site and installs no update while it is missing; WordPress shows the update with a link to the licence settings. A key that was activated before this release is picked up automatically.
      • A licence key only works for the edition it was bought for, Joomla or WordPress. A key for the other edition gets a clear message.
      • The licence check also sends the version numbers of HootBox, the CMS, PHP and YOOtheme Pro, so it is visible which release runs on which site. NOTICE.txt describes what is sent.
      • The licence is checked once a day in the administration (Joomla) or by WordPress cron, instead of only when activating.
      • The update site is now called "HootBox Updates"; existing installations are renamed on update.
      • WordPress: a new release shows up within an hour, and right away after "Check again" on the Updates screen. Before it could take up to twelve hours.
      • WordPress: the licence screen and the update notice are translated into Dutch, German, French, Spanish and Italian, and the plugins page says so when YOOtheme Pro is missing.
      • The element icon uses the HootBox colour #C32EC0.
      • LICENSE.txt now contains the full text of the GNU General Public License version 2.
      Security
      • A visitor could add `?customizer=1` to a page address and see popups that were not meant for them: popups for logged-in users only, popups for another language and popups scheduled for later. That page address now only counts for someone who may edit the theme. "Always inline" no longer skips the audience and language settings either.
      v0.9.11
      Changed
      • The hint in an empty popup, the note on the Content tab and the descriptions of Alert header and Message now describe the real route (New Layout under Builder, then the + in the row), in all six languages; WordPress translations regenerated.
      Fixed
      • Adding content inside a HootBox now works from the builder interface. The Content tab opens with a Builder section, exactly like the Sublayout element of YOOtheme: click New Layout to put a row in the popup, click the + in that row to add any element, or pick a ready-made layout from the Library. The element was already declared as a sublayout container, but the panel field that opens the nested builder was missing, so the plus below HootBox in the layout tree could only add a neighbour. Popups built earlier keep working: the renderer accepts rows as well as single elements as children.
      v0.9.10
      Changed
      • The element icon is now #B13DD2.
      • Adding an element inside a HootBox does not work from the builder interface. The plus below the element in the builder panel adds an element NEXT to the popup, not inside it, so the instruction in the panel is wrong. The layout format and the renderer handle children correctly; it is the builder interface that offers no way in. Under investigation.
      v0.9.9
      Added
      • Preview as popup. While editing, the popup sits inline in the page so you can build its content. The badge above it now has a button that opens the popup the way visitors see it: overlay, animation, position, phone layout. Close it and everything is back inline. A preview never counts as a view, so a popup set to "once per visitor" still shows on the live site.
      • A screen reader is told when a popup closes by itself. A modal popup carries the sentence in its description, a bar or corner panel announces it once through the live region. The ticking countdown itself stays hidden from screen readers.
      Changed
      • Finding the popup content. The content is a sublayout: hover over HootBox in the builder panel and click the + that appears below it, or drag an element onto it. That is now said in three places: the hint in the empty popup, the first group of the Content tab, and the descriptions of Alert header and Message. The hint is also easier to read (contrast 4.6:1 instead of 2.8:1).
      • The element icon is now 30 by 30 in the element library and 20 by 20 in the page builder, the same sizes YOOtheme uses for its own elements, in the HootBox colour #ac0b0a. It was 24 by 24 in an orange that another YOOzeCase product already uses.
      • The badge above the inline popup is visible on dark sections too (its border follows the text colour), and the badge only appears while editing, not when "Always inline" is used on a live test page.
      • Three new front-end strings (preview button, content hint, auto-close sentence) in all six languages, WordPress translations regenerated.
      Fixed
      • Headings placed inside the popup were invisible on themes with light headings (dark sites): white on a white card, contrast 1:1. Headings inside the popup now take the colour of the card, unless they carry an explicit colour class of their own.
      • The settings panel had seven tabs. At the default panel width they wrapped to a second line and "Advanced" fell over the first group title. There are six tabs now: the schedule (period, recurring) lives under Triggers, because a schedule is about when the popup opens.
      v0.9.8
      Fixed
      • Weekdays and the daily time window fell back to the visitor's own clock on sites whose time zone is set as a UTC offset instead of a city. WordPress reports such a site as "+02:00", which the browser's Intl does not accept as a time zone. The offset now travels with the popup as a number of minutes, so the window is still judged by the clock of the site. A fixed offset has no daylight saving, so it stays correct on a cached page as well.
      v0.9.7
      Changed
      • The element icon in the builder is now the HootBox owl, an original drawing in the same stroke style as the other icons. Recorded in NOTICE.txt.
      • WordPress: the eight front-end strings now ship as real translations (Dutch, German, French, Spanish, Italian) instead of English only. They are generated from the Joomla language files with scripts/build-wp-languages.py, so both platforms always say the same thing.
      Fixed
      • Weekdays and the daily time window were decided on the server only. On a site with page caching the popup kept showing outside its window, and on a page that was cached outside the window it never came back. Those two settings recur, so the popup now stays in the page and the browser checks them again in the time zone of the site, daylight saving included. The from and to dates still decide on the server: that boundary is crossed once, and the popup should not be in the page before it starts. A click on a trigger link respects the window too.
      • Bars and corner panels without an overlay deliberately do not take the keyboard focus, so a screen reader never noticed them. They now carry the role of a region named after the title, and their text is announced once through a live region. Centred modals are unchanged: they take focus and announce themselves that way.
      v0.9.6
      Changed
      • Inline help. Every setting of the HootBox element now carries a full description in the builder: what it does on the site, what each option does, the default and why, when to change it, and the pitfalls. 48 settings were empty or too short; 73 of the 78 settings are now documented. The remaining five are the standard Advanced fields of YOOtheme Pro itself. This text is also the source for the user manual, so the manual can be written without inventing anything.
      v0.9.5
      Fixed
      • The popup title was invisible on themes that give headings the same colour as the card background. On a white card the contrast was 1:1. The title now takes the text colour of the popup itself.
      • Visitors could see the builder hint "Put any element in here: text, images, forms, buttons, video." A popup without content of its own showed that line on the live site. The hint now only appears in the builder.
      • The popup stopped halfway through its opening animation and stayed at 90 percent of its size. Everything inside it shrank along, so the close button measured 40 by 40 pixels instead of the 44 by 44 tap target. Two causes: the card style of the theme overruled the popup transition, and the opening animation could stay stuck on its first frame. Both are handled now, so the popup always reaches its full size.