Home › Forums › WoodMart support forum › Cloudflare Turnstile widget does not render inside wd-popup-builder popup

Cloudflare Turnstile widget does not render inside wd-popup-builder popup

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #729496

    dimiter.lalov
    Participant

    Hello,

    I have a Contact Form 7 form placed inside a WoodMart popup
    (Popup Builder), opened from a “Quick order” button on single
    product pages.

    Contact Form 7’s built-in Cloudflare Turnstile integration is
    enabled. The Turnstile widget renders correctly on a normal page
    (our Contacts page), but never renders inside the popup.

    Diagnostics from the browser console on a product page:

    1. document.querySelectorAll(‘.cf-turnstile’).length
    -> 2 (placeholders exist)

    2. document.querySelectorAll(‘.cf-turnstile iframe’).length
    -> 0 (widget never created, even after 695 seconds with the
    popup open)

    3. Walking up the DOM from the placeholder:
    DIV.wpcf7-turnstile cf-turnstile -> block / visible
    FORM.wpcf7-form init -> block / visible
    DIV.wpcf7 js -> block / visible
    DIV.elementor-widget-container -> block / visible
    DIV.elementor-element … -> block / visible
    DIV.wd-popup-inner wd-entry-content -> block / visible
    DIV.wd-popup-builder wd-popup wd-deferred wd -> display: none

    The wd-deferred container stays display:none, and Cloudflare
    Turnstile does not create its iframe inside a hidden container.
    Calling turnstile.render() manually does create the widget, which
    confirms the cause.

    Questions:

    1. Is there a setting to disable the deferred loading for a
    specific popup?
    2. Is there a JavaScript event fired when a popup opens, that we
    can hook into to re-render the widget?

    WoodMart theme: 8.6.1
    Woodmart Core: 1.1.9
    Contact Form 7: 6.1.7
    WordPress: 7.1.1

    #729678

    Aizaz Imtiaz Awan
    Keymaster
    Xtemos team

    Hello,

    Unfortunately, there is currently no option to disable deferred loading for a specific popup. However, you can use our Floating Block functionality instead, where the content can be rendered immediately without deferred loading.

    When a popup is opened, the theme triggers the following two JavaScript events:
    $(document).trigger('wdOpenPopup');

    $(document).trigger('wdPopupOpened.123');

    In the second event, 123 is the post ID of the popup. You can use these events to run your custom code after the popup has been opened, for example, to re-render the Turnstile widget.

    Best Regards.

    #729734

    dimiter.lalov
    Participant

    Hi Aizaz,

    Thank you, the wdOpenPopup event was exactly what we needed. We now render the Turnstile widget on popup open and reset it on every next open, and it works reliably across products.

    Best regards,
    Dimitar

    #729786

    Aizaz Imtiaz Awan
    Keymaster
    Xtemos team

    Sounds Great! that your issue has been solved.

    I’m so happy to hear you are pleased with the Theme and Support. XTEMOS strives to deliver the best customer experience, and it makes our day to hear we have accomplished that.

    We count ourselves lucky to have you as a customer. You can always reach us at any time. We are always here to help you.

    Thanks for contacting us.
    Have a great day.

    Topic Closed.
    Best Regards.

Viewing 4 posts - 1 through 4 (of 4 total)

The topic ‘Cloudflare Turnstile widget does not render inside wd-popup-builder popup’ is closed to new replies.