[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fNxe22iB8R1ew-qq2X6MHxpT_Epm8nMgTe6YGXjQWV3A":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":34,"analysis":135,"fingerprints":221},"zontact","Zontact – Lightweight Floating Contact Button","1.1.1","38zo","https:\u002F\u002Fprofiles.wordpress.org\u002F38zo\u002F","\u003Cp>Most contact form plugins try to solve every use case and end up slowing sites down.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Zontact takes a different approach.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>It focuses on one thing: helping visitors contact you quickly and easily.\u003C\u002Fp>\n\u003Cp>Zontact adds a clean, lightweight floating contact button to your WordPress site. When clicked, it opens an \u003Cstrong>accessible modal contact form\u003C\u002Fstrong>, allowing users to get in touch without page reloads, visual clutter, or unnecessary features.\u003C\u002Fp>\n\u003Cp>Built with performance, usability, and accessibility in mind, Zontact is ideal if you want a reliable contact solution without installing a heavy form builder.\u003C\u002Fp>\n\u003Ch3>What Zontact Does\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Adds a floating contact button to your site (optional)\u003C\u002Fli>\n\u003Cli>Opens a fast, accessible modal contact form\u003C\u002Fli>\n\u003Cli>Sends messages directly to your email\u003C\u002Fli>\n\u003Cli>Optionally stores messages in WordPress for later reference\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>No page builders. No third-party services. Just clear communication.\u003C\u002Fp>\n\u003Ch3>Who It’s For\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Small business owners who want an easy way for customers to reach them\u003C\u002Fli>\n\u003Cli>Freelancers building fast, reliable client websites\u003C\u002Fli>\n\u003Cli>Anyone who values simplicity, performance, and clean design\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Performance & Accessibility First\u003C\u002Fh3>\n\u003Cp>Zontact is designed to stay out of your way:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Lightweight code with minimal assets\u003C\u002Fli>\n\u003Cli>No frontend bloat or external dependencies\u003C\u002Fli>\n\u003Cli>Fully accessible modal with keyboard and screen reader support\u003C\u002Fli>\n\u003Cli>Built using WordPress and WCAG accessibility best practices\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Setup (Takes Less Than a Minute)\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Install and activate Zontact\u003C\u002Fli>\n\u003Cli>Open \u003Cstrong>Zontact \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings\u003C\u002Fstrong> to customize the button and form\u003C\u002Fli>\n\u003Cli>Enable or disable the floating contact button as needed\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>That’s it.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Floating Contact Button\u003C\u002Fstrong> – Clean, minimal button that stays visible without disrupting your layout\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Accessible Modal Contact Form\u003C\u002Fstrong> – ARIA-compliant, keyboard-friendly dialog\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Simple Customization\u003C\u002Fstrong> – Adjust button position, colors, size, and shape\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Spam Protection\u003C\u002Fstrong> – Built-in honeypot to reduce spam submissions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Notifications\u003C\u002Fstrong> – Receive messages directly in your inbox\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Message Storage (Optional)\u003C\u002Fstrong> – View submitted messages in the WordPress admin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translation Ready\u003C\u002Fstrong> – Fully internationalized and localization-friendly\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Accessibility\u003C\u002Fh3>\n\u003Cp>Accessibility is a core feature—not an afterthought.\u003C\u002Fp>\n\u003Cp>Zontact includes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Proper ARIA roles and labels\u003C\u002Fli>\n\u003Cli>Logical keyboard navigation\u003C\u002Fli>\n\u003Cli>Automatic focus management\u003C\u002Fli>\n\u003Cli>Semantic HTML structure\u003C\u002Fli>\n\u003Cli>Compliance with WordPress accessibility guidelines\u003C\u002Fli>\n\u003C\u002Ful>\n","A simple floating contact button for WordPress fast, accessible, and clutter-free.",0,242,"","6.9.4","6.0","7.4",[18,19,20,21,22],"accessible","contact-form","floating-contact-button","lightweight","modal","https:\u002F\u002Fgithub.com\u002F38zo\u002Fzontact","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fzontact.1.1.1.zip",100,null,"2026-03-15T10:48:56.248Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},1,30,94,"2026-04-04T09:19:55.773Z",[35,60,81,99,118],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":13,"tags":50,"homepage":54,"download_link":55,"security_score":56,"vuln_count":57,"unpatched_count":11,"last_vuln_date":58,"fetched_at":59},"popup-addon-for-ninja-forms","Popup addon for Ninja Forms","3.5.2","Aman","https:\u002F\u002Fprofiles.wordpress.org\u002Faman086\u002F","\u003Cp>Popup Addon for Ninja Forms allows you to show any Ninja Forms in Popup\u002FModal.\u003Cbr \u002F>\nYou can create beautiful popups with live preview in customizer.\u003Cbr \u002F>\nIt allows you add additional content before & after the form in popup.\u003Cbr \u002F>\nPopup can be triggered by click or can be opened on page load using the shortocde.\u003C\u002Fp>\n\u003Ch3>Top Features:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Option to set Popup Cookie to hide it after opened certain number of times.\u003C\u002Fli>\n\u003Cli>Option to set Popup Animations.\u003C\u002Fli>\n\u003Cli>Option to set Popup Container Width for mobile.\u003C\u002Fli>\n\u003Cli>Option to set Popup Container Height for mobile.\u003C\u002Fli>\n\u003Cli>Option to set Overlay color.\u003C\u002Fli>\n\u003Cli>Option to set Overlay opacity.\u003C\u002Fli>\n\u003Cli>Option to set Popup Container opacity.\u003C\u002Fli>\n\u003Cli>Option to set Popup Container background color.\u003C\u002Fli>\n\u003Cli>Option to set Popup Container Padding.\u003C\u002Fli>\n\u003Cli>Option to set Popup Container Border.\u003C\u002Fli>\n\u003Cli>Option to set Popup Container Rounded Corners.\u003C\u002Fli>\n\u003Cli>Option to set Popup Container Width.\u003C\u002Fli>\n\u003Cli>Option to set Popup Container Height.\u003C\u002Fli>\n\u003Cli>Option to open popup by any link using class or ID.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Get more features in \u003Ca href=\"https:\u002F\u002Fwebholics.org\u002Fdownloads\u002Fpopup-add-on-for-ninja-forms-pro\u002F?utm_source=wordpress-plugin-repo&utm_medium=popup-addon-for-ninja-forms&utm_campaign=popup-addon-for-ninja-form-lite-version\" rel=\"nofollow ugc\">Pro version\u003C\u002Fa>\u003Cbr \u002F>\n* Advanced Animations\u003Cbr \u002F>\n* Exit Intent\u003Cbr \u002F>\n* Hide Popup on Mobile\u002FDesktop.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwebholics.org\u002Fdownloads\u002Fpopup-add-on-for-ninja-forms-pro\u002F?utm_source=wordpress-plugin-repo&utm_medium=popup-addon-for-ninja-forms&utm_campaign=popup-addon-for-ninja-form-lite-version\" rel=\"nofollow ugc\">Get Popup Addon for Ninja Forms PRO!\u003C\u002Fa>\u003C\u002Fp>\n","Popup\u002FModal addon for Ninja Forms. Create beautiful popups using Ninja Forms for newsletters, login, registration forms.",1000,37205,76,6,"2025-11-04T12:25:00.000Z","6.8.5","4.4",[19,22,51,52,53],"newsletter","ninja-forms","popup","https:\u002F\u002Fwebholics.org\u002Fdownloads\u002Fpopup-add-on-for-ninja-forms-pro\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpopup-addon-for-ninja-forms.3.5.2.zip",98,2,"2025-10-31 00:00:00","2026-03-15T15:16:48.613Z",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":25,"downloaded":68,"rating":25,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":73,"tags":74,"homepage":78,"download_link":79,"security_score":80,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":59},"lightweight-contact-form","Lightweight Contact Form","2.0","isabel104","https:\u002F\u002Fprofiles.wordpress.org\u002Fisabel104\u002F","\u003Cp>This is the absolute lightest contact form for WordPress. This plugin is designed for the fastest pagespeed. So, there is no CSS stylesheet, no extra files, and no overhead. And no spam. It uses Google reCAPTCHA v3 so as not to annoy your users with any extra step, while keeping your contact form spam-free.\u003C\u002Fp>\n\u003Cp>If all you need is a simple contact form to take messages from site visitors, and fast page speed is your priority, this minimal plugin is for you.\u003C\u002Fp>\n\u003Cp>Although this form is lightweight and simple, it blocks SPAM, and has both client-side and server-side validation. This is a solid and dependable contact form.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>NOTE: To make use of the extra spam protection from Google reCAPTCHA v3, you must \u003Ca href=\"https:\u002F\u002Fisabelcastillo.com\u002Frecaptcha-v3-keys\" rel=\"nofollow ugc\">get your reCAPTCHA v3 API keys\u003C\u002Fa> from Google. This is a free and easy step, and is strongly recommended.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Emails are sent to the admin email which is set in your WordPress General Settings.\u003C\u002Fli>\n\u003Cli>Add the contact form to any page with a shortcode.\u003C\u002Fli>\n\u003Cli>Both JavaScript client-side and PHP server-side validation.\u003C\u002Fli>\n\u003Cli>It’s just one file. No extra CSS or JavaScript files. This is for the most lightweight footprint.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You must add any CSS styling yourself. This is easy and is explained in the \u003Ca href=\"https:\u002F\u002Fisabelcastillo.com\u002Flightweight-wordpress-contact-form#jl-css\" rel=\"nofollow ugc\">installation guide\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>(In addition, if you need extra fields or different forms for different pages, see the \u003Ca href=\"https:\u002F\u002Fisabelcastillo.com\u002Flightweight-wordpress-contact-form#jl-advanced\" rel=\"nofollow ugc\">Advanced: Add Custom Form Fields\u003C\u002Fa> section.)\u003C\u002Fp>\n","The most lightweight Contact Form plugin for WordPress. No CSS files, no overhead, no SPAM. The goal is fastest page speed.",4410,9,"2020-08-30T04:57:00.000Z","5.4.19","4.6","5.6",[19,75,76,61,77],"fast-contact-form","light-contact-form","minimalistic","https:\u002F\u002Fisabelcastillo.com\u002Flightweight-wordpress-contact-form","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flightweight-contact-form.2.0.zip",85,{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":89,"downloaded":90,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":48,"requires_at_least":91,"requires_php":13,"tags":92,"homepage":13,"download_link":96,"security_score":97,"vuln_count":30,"unpatched_count":11,"last_vuln_date":98,"fetched_at":27},"fws-ajax-contact-form","Ajax Contact Form","1.5.6","Olaf Lederer","https:\u002F\u002Fprofiles.wordpress.org\u002Ffinalwebsites\u002F","\u003Cp>This free contact form plugin is used to create accessible contact forms with advanced spam protection (honeypot, cookie and optionally Cloudflare Turnstile or hCaptcha). In contrary to most other form plugins, there is no form-builder included.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>The generated form is accessible and works even when the visitor has disabled Javascript\u003C\u002Fli>\n\u003Cli>Accessible form field validation\u003C\u002Fli>\n\u003Cli>Protect your forms against spam bots using a honeypot and cookies\u003C\u002Fli>\n\u003Cli>Track successfully submitted forms in Google Analytics and\u002For Clicky\u003C\u002Fli>\n\u003Cli>Create multiple contact forms via an easy to use interface and add the form via the block editor or using a shortcode\u003C\u002Fli>\n\u003Cli>Collect form submissions for all your forms or the forms you choose\u003C\u002Fli>\n\u003Cli>Get insights which spam protection feature works the best for your form. A simple log file keeps track about the different spam attempts\u003C\u002Fli>\n\u003Cli>Multiple responder emails, send a HTML formatted mail in response to the form submission\u003C\u002Fli>\n\u003Cli>Works with the default wp_mail() function (use it together with the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-smtp-by-maileroo\u002F\" rel=\"ugc\">Maileroo\u003C\u002Fa> plugin to send emails via SMTP)\u003C\u002Fli>\n\u003Cli>Optional: Protect your forms by blocking specific countries which are not relevant for your website or business\u003C\u002Fli>\n\u003Cli>Optional: Protect your contact form with the plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fhoneypot\u002F\" rel=\"ugc\">WP Armour – Honeypot Anti Spam\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Optional: Email address verification with the verification API from \u003Ca href=\"https:\u002F\u002Fmaileroo.com\u002F?r=acfplugin\" rel=\"nofollow ugc\">Maileroo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Optional: Form fields for Company name, phone number, website and an accept terms checkbox\u003C\u002Fli>\n\u003Cli>Optional: Redirect the visitor after a succesful form submission to a “Thank you” page\u003C\u002Fli>\n\u003Cli>Optional: Use the plugin’s CSS style-sheet for your forms\u003C\u002Fli>\n\u003Cli>Optional: Protect your forms with Cloudflare Turnstile or hCaptcha\u003C\u002Fli>\n\u003Cli>Optional: For additional spam protection, you can add a simple and accessible challenge to your form.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin is built to keep stuff simple. If you need a complex web form or if you need a form builder, please use one of the form plugins you can find in the WordPress repository. To use the “Block countries” feature we use the IP to Country API from Country.is. They offer a free service and you don’t need an API key.\u003C\u002Fp>\n","An easy to use contact form plugin with multiple inbuilt features to prevent contact form spam.",20,15591,"5.4",[18,93,19,94,95],"antispam","email-log","forms","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffws-ajax-contact-form.1.5.6.zip",99,"2025-01-14 00:00:00",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":89,"downloaded":107,"rating":11,"num_ratings":11,"last_updated":108,"tested_up_to":48,"requires_at_least":109,"requires_php":110,"tags":111,"homepage":13,"download_link":117,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":59},"result-popups-for-cf7","Result Popups for CF7","1.0.0","Azamat","https:\u002F\u002Fprofiles.wordpress.org\u002Fazamat88\u002F","\u003Cp>Contact Form 7 is a staple for WordPress sites—but the default confirmation messages? Not so much.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Result Popups for CF7\u003C\u002Fstrong> replaces those inline alerts with beautiful, customizable SweetAlert modals. It just works out of the box—no settings required—but if you’re a power user, you’ll find plenty to tweak.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why use Result Popups?\u003C\u002Fstrong>\u003Cbr \u002F>\n– It looks amazing.\u003Cbr \u002F>\n– It improves form UX.\u003Cbr \u002F>\n– It makes your site feel more modern.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Use cases:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Alert users when their form was submitted successfully.\u003Cbr \u002F>\n– Show styled error or spam messages in a modal window.\u003Cbr \u002F>\n– Replace native CF7 alerts with a modern visual experience.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>✅ Works automatically—no configuration needed  \u003C\u002Fli>\n\u003Cli>🎨 Optional settings panel with popup behavior and style options  \u003C\u002Fli>\n\u003Cli>💬 Handles all CF7 statuses: success, validation errors, spam, and failures  \u003C\u002Fli>\n\u003Cli>🌐 Translation-ready and lightweight  \u003C\u002Fli>\n\u003Cli>🔄 Graceful fallback to native messages if plugin is deactivated  \u003C\u002Fli>\n\u003Cli>⚙️ Lightweight, flexible, and easy to set up\u003C\u002Fli>\n\u003Cli>🔌 Works as a native Contact Form 7 extension — no complex setup required\u003C\u002Fli>\n\u003C\u002Ful>\n","Modernize your Contact Form 7 messages with clean, customizable SweetAlert2 popups. No config needed. Just activate and enjoy.",321,"2025-07-14T10:04:00.000Z","5.2","7.2",[112,113,114,115,116],"alerts","contact-form-7","modals","popups","sweetalert2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fresult-popups-for-cf7.1.0.0.zip",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":11,"num_ratings":11,"last_updated":128,"tested_up_to":48,"requires_at_least":129,"requires_php":13,"tags":130,"homepage":13,"download_link":133,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":134},"emberly-popups","Emberly Popups","1.3","Emberly Digital","https:\u002F\u002Fprofiles.wordpress.org\u002Femberlydigital\u002F","\u003Cp>\u003Cstrong>Emberly Popups\u003C\u002Fstrong> is a simple PHP function that generates ARIA‑compliant modal popups. Great for newsletters, surveys, announcements, or any call‑to‑action:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Auto‑open after a configurable delay  \u003C\u002Fli>\n\u003Cli>Cookie‑ or session‑based “show once” control  \u003C\u002Fli>\n\u003Cli>Repeat interval (milliseconds) between popups  \u003C\u002Fli>\n\u003Cli>Shortcode support inside popup content  \u003C\u002Fli>\n\u003Cli>Adjustable width and padding  \u003C\u002Fli>\n\u003Cli>Accessible markup with proper ARIA roles\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch3>PHP 8+ (named arguments)\u003C\u002Fh3>\n\u003Cp>“`php\u003Cbr \u002F>\nemberly_popup(\u003Cbr \u002F>\n    title            : ‘Welcome!’,\u003Cbr \u002F>\n    content          : ‘\u003C\u002Fp>\n\u003Cp>Thanks for visiting our site. Don’t miss our latest offers!\u003C\u002Fp>\n\u003Cp>‘,\u003Cbr \u002F>\n    id               : ‘welcome-popup’,\u003Cbr \u002F>\n    width            : ’50rem’,\u003Cbr \u002F>\n    padding          : ‘3rem’,\u003Cbr \u002F>\n    echo             : true,\u003Cbr \u002F>\n    output_shortcodes: true,\u003Cbr \u002F>\n    auto_open        : true,\u003Cbr \u002F>\n    delay            : 2000,\u003Cbr \u002F>\n    show_once        : false,\u003Cbr \u002F>\n    persistence_method: ‘session’,\u003Cbr \u002F>\n    show_interval_ms : 1800000  \u002F\u002F 30 minutes\u003Cbr \u002F>\n);\u003Cbr \u002F>\n    \u003Ccode>\u003Ch3>PHP 7 & earlier (ordered arguments)\u003C\u002Fh3>```php\u003Cbr \u002F>\nemberly_popup(\u003Cbr \u002F>\n    '',                               \u002F\u002F $title\u003Cbr \u002F>\n    '\u003Cp>Thanks for visiting our site. Don't miss our latest offers!\u003C\u002Fp>',\u003Cbr \u002F>\n    'category-survey-popup',          \u002F\u002F $id\u003Cbr \u002F>\n    '50rem',                          \u002F\u002F $width\u003Cbr \u002F>\n    '3rem',                           \u002F\u002F $padding\u003Cbr \u002F>\n    true,                             \u002F\u002F $echo\u003Cbr \u002F>\n    true,                             \u002F\u002F $output_shortcodes\u003Cbr \u002F>\n    true,                             \u002F\u002F $auto_open\u003Cbr \u002F>\n    2000,                             \u002F\u002F $delay\u003Cbr \u002F>\n    false,                            \u002F\u002F $show_once\u003Cbr \u002F>\n    'session',                        \u002F\u002F $persistence_method\u003Cbr \u002F>\n    1800000                           \u002F\u002F $show_interval_ms\u003Cbr \u002F>\n);\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>Manual triggers\u003C\u002Fh3>\n\u003Cp>Anywhere in your markup, add:\u003Cbr \u002F>\n    \u003Ccode>html\u003Cbr \u002F>\n\u003Ca href=\"#\" em-popup-trigger-id=\"welcome-popup\">Open Welcome Popup\u003C\u002Fa>\u003C\u002Fcode>\u003Cbr \u002F>\nThe \u003Ccode>em-popup-trigger-id\u003C\u002Fcode> value must match the \u003Ccode>$id\u003C\u002Fcode> you set in \u003Ccode>emberly_popup()\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>Parameters\u003C\u002Fh3>\n\u003Cp>  Parameter\u003Cbr \u002F>\n  Type\u003Cbr \u002F>\n  Default\u003Cbr \u002F>\n  Description\u003C\u002Fp>\n\u003Cp>  title\u003Cbr \u002F>\n  string\u003Cbr \u002F>\n  ”\u003Cbr \u002F>\n  Popup heading text.\u003C\u002Fp>\n\u003Cp>  content\u003Cbr \u002F>\n  string\u003Cbr \u002F>\n  ”\u003Cbr \u002F>\n  HTML for the popup’s body.\u003C\u002Fp>\n\u003Cp>  id\u003Cbr \u002F>\n  string\u003Cbr \u002F>\n  ”\u003Cbr \u002F>\n  Unique popup identifier (required for cookies\u002Fsessions & triggers).\u003C\u002Fp>\n\u003Cp>  width\u003Cbr \u002F>\n  string\u003Cbr \u002F>\n  ’60rem’\u003Cbr \u002F>\n  CSS max-width for the popup container.\u003C\u002Fp>\n\u003Cp>  padding\u003Cbr \u002F>\n  string\u003Cbr \u002F>\n  ‘3rem’\u003Cbr \u002F>\n  Inner padding inside the popup.\u003C\u002Fp>\n\u003Cp>  echo\u003Cbr \u002F>\n  bool\u003Cbr \u002F>\n  true\u003Cbr \u002F>\n  Echo the markup immediately (false to return as string).\u003C\u002Fp>\n\u003Cp>  output_shortcodes\u003Cbr \u002F>\n  bool\u003Cbr \u002F>\n  false\u003Cbr \u002F>\n  Process WordPress shortcodes in \u003Ccode>content\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>  auto_open\u003Cbr \u002F>\n  bool\u003Cbr \u002F>\n  false\u003Cbr \u002F>\n  Automatically open after \u003Ccode>delay\u003C\u002Fcode> ms.\u003C\u002Fp>\n\u003Cp>  delay\u003Cbr \u002F>\n  int\u003Cbr \u002F>\n  0\u003Cbr \u002F>\n  Milliseconds to wait before auto-open.\u003C\u002Fp>\n\u003Cp>  show_once\u003Cbr \u002F>\n  bool\u003Cbr \u002F>\n  false\u003Cbr \u002F>\n  If true, shows only once per session\u002Fcookie period.\u003C\u002Fp>\n\u003Cp>  persistence_method\u003Cbr \u002F>\n  string\u003Cbr \u002F>\n  ‘cookie’\u003Cbr \u002F>\n  Where to store “shown” flag: ‘cookie’ or ‘session’.\u003C\u002Fp>\n\u003Cp>  show_interval_ms\u003Cbr \u002F>\n  int\u003Cbr \u002F>\n  0\u003Cbr \u002F>\n  Minimum interval (ms) before showing again. 0 disables repeats.\u003C\u002Fp>\n\u003Cp>  debug\u003Cbr \u002F>\n  bool\u003Cbr \u002F>\n  false\u003Cbr \u002F>\n  Log internal events to browser console (load, open, cookies, scroll lock).\u003C\u002Fp>\n\u003Ch3>Debugging\u003C\u002Fh3>\n\u003Cp>Add \u003Ccode>debug: true\u003C\u002Fcode> (PHP 8+) or append \u003Ccode>true\u003C\u002Fcode> as the 13th argument (PHP 7) to enable console logging:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u002F\u002F PHP 8+ example\u003Cbr \u002F>\nemberly_popup(\u003Cbr \u002F>\n    title : ‘Debug Popup’,\u003Cbr \u002F>\n    content: ‘\u003C\u002Fp>\n\u003Cp>Debugging is on!\u003C\u002Fp>\n\u003Cp>‘,\u003Cbr \u002F>\n    id    : ‘debug-popup’,\u003Cbr \u002F>\n    debug : true\u003Cbr \u002F>\n);\u003Cbr \u002F>\n    `\u003C\u002Fp>\n","Lightweight, accessible popups for WordPress—made by developers, for developers.",10,1008,"2025-07-27T19:21:00.000Z","5.0",[18,131,22,132,53],"developer","overlay","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Femberly-popups.1.3.zip","2026-03-15T14:54:45.397Z",{"attackSurface":136,"codeSignals":195,"taintFlows":216,"riskAssessment":217,"analyzedAt":220},{"hooks":137,"ajaxHandlers":182,"restRoutes":192,"shortcodes":193,"cronEvents":194,"entryPointCount":57,"unprotectedCount":11},[138,144,147,152,158,162,166,170,173,177],{"type":139,"name":140,"callback":141,"file":142,"line":143},"action","wp_enqueue_scripts","enqueue","includes\\Assets.php",25,{"type":139,"name":140,"callback":145,"priority":89,"file":142,"line":146},"add_inline_styles",26,{"type":139,"name":148,"callback":149,"file":150,"line":151},"wp_footer","render_form","includes\\Frontend.php",23,{"type":153,"name":154,"callback":155,"file":156,"line":157},"filter","wp_mail_content_type","anonymous","includes\\Mail\\EmailService.php",90,{"type":139,"name":159,"callback":159,"file":160,"line":161},"init","includes\\Plugin.php",59,{"type":139,"name":159,"callback":163,"priority":164,"file":160,"line":165},"maybe_install_db",5,60,{"type":139,"name":167,"callback":168,"file":160,"line":169},"admin_menu","register_admin_menu",63,{"type":139,"name":167,"callback":171,"priority":89,"file":160,"line":172},"register_entries_page",64,{"type":139,"name":174,"callback":175,"file":160,"line":176},"admin_init","register_admin_settings",65,{"type":139,"name":178,"callback":179,"file":180,"line":181},"plugins_loaded","closure","zontact.php",42,[183,190],{"action":184,"nopriv":185,"callback":186,"hasNonce":187,"hasCapCheck":185,"file":188,"line":189},"zontact_submit",false,"handle",true,"includes\\Ajax.php",27,{"action":184,"nopriv":187,"callback":186,"hasNonce":187,"hasCapCheck":185,"file":188,"line":191},28,[],[],[],{"dangerousFunctions":196,"sqlUsage":197,"outputEscaping":200,"fileOperations":11,"externalRequests":11,"nonceChecks":57,"capabilityChecks":57,"bundledLibraries":215},[],{"prepared":198,"raw":11,"locations":199},8,[],{"escaped":201,"rawEcho":202,"locations":203},140,4,[204,208,211,213],{"file":205,"line":206,"context":207},"includes\\Admin\\Entries\\EntriesPage.php",83,"raw output",{"file":209,"line":210,"context":207},"templates\\email-submission.php",24,{"file":209,"line":212,"context":207},36,{"file":209,"line":214,"context":207},44,[],[],{"summary":218,"deductions":219},"The \"zontact\" plugin version 1.1.1 demonstrates a generally good security posture based on the provided static analysis.  The absence of dangerous functions, file operations, external HTTP requests, and a complete reliance on prepared statements for all SQL queries are significant strengths.  Furthermore, the plugin correctly implements nonce and capability checks for its two AJAX entry points, and the high percentage of properly escaped output suggests a solid effort to prevent cross-site scripting vulnerabilities. The zero recorded CVEs and no history of vulnerabilities further reinforce this positive outlook.\n\nWhile the static analysis reveals no critical or high-severity vulnerabilities, and the taint analysis found no unsanitized paths, the absence of analysis in these areas (0 flows analyzed) means we cannot definitively rule out such issues. The attack surface is small with only two entry points, both of which are secured with authentication checks, which is excellent. However, a more thorough code review and dynamic analysis would be beneficial to confirm the absence of any latent vulnerabilities, especially in areas not covered by the current analysis scope.",[],"2026-03-17T06:01:30.224Z",{"wat":222,"direct":231},{"assetPaths":223,"generatorPatterns":226,"scriptPaths":227,"versionParams":228},[224,225],"\u002Fwp-content\u002Fplugins\u002Fzontact\u002Fassets\u002Fcss\u002Fzontact.css","\u002Fwp-content\u002Fplugins\u002Fzontact\u002Fassets\u002Fjs\u002Fzontact.js",[],[225],[229,230],"zontact\u002Fassets\u002Fcss\u002Fzontact.css?ver=","zontact\u002Fassets\u002Fjs\u002Fzontact.js?ver=",{"cssClasses":232,"htmlComments":256,"htmlAttributes":257,"restEndpoints":262,"jsGlobals":264,"shortcodeOutput":265},[233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"zontact-root","zontact-left","zontact-right","zontact-button","zontact-button-size-","zontact-button-mode-","zontact-button-icon","zontact-button-label","zontact-modal","zontact-modal-content","zontact-form","zontact-form-header","zontact-title","zontact-close","zontact-form-body","zontact-field","zontact-label","zontact-input","zontact-textarea","zontact-consent","zontact-submit-button","zontact-loading","zontact-hidden",[],[258,259,260,261],"data-accent","data-button-bg","data-button-text","data-button-radius",[263],"\u002Fwp-json\u002Fzontact\u002Fv1\u002Fsubmit",[4],[]]