{"id":334909,"date":"2026-07-20T09:53:18","date_gmt":"2026-07-20T09:53:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/alert-popups-for-contact-form-7\/"},"modified":"2026-07-20T09:52:52","modified_gmt":"2026-07-20T09:52:52","slug":"pexsol-alerts-contact-form-7","status":"publish","type":"plugin","link":"https:\/\/eo.wordpress.org\/plugins\/pexsol-alerts-contact-form-7\/","author":15984667,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.3","stable_tag":"2.0.3","tested":"7.0.2","requires":"5.6","requires_php":"7.2","requires_plugins":null,"header_name":"Pexsol Alerts for Contact Form 7","header_author":"Pexsol Interactive","header_description":"Replaces Contact Form 7's inline response text with polished SweetAlert2 popups, driven by a schema-based settings panel.","assets_banners_color":"111111","last_updated":"2026-07-20 09:52:52","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.pexsol.com","header_plugin_uri":"","header_author_uri":"https:\/\/www.pexsol.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":64,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.3":{"tag":"2.0.3","author":"pexsol","date":"2026-07-20 09:52:52"}},"upgrade_notice":{"2.0.0":"<p>A full rewrite. Settings move to a new storage format, so review your options under Contact \u2192 Pexsol Alerts after updating.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3614551,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3614551,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3614551,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3614551,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3614551,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Success popup shown after a submission.","2":"Validation popup for an incomplete form.","3":"Settings screen \u2014 Appearance and Behavior panels.","4":"Settings screen \u2014 Buttons and Success Redirect panels."}},"plugin_section":[],"plugin_tags":[2566,1152,613,491,184086],"plugin_category":[],"plugin_contributors":[272433],"plugin_business_model":[],"class_list":["post-334909","plugin","type-plugin","status-publish","hentry","plugin_tags-alert","plugin_tags-contact-form-7","plugin_tags-modal","plugin_tags-popup","plugin_tags-sweetalert2","plugin_contributors-pexsol","plugin_committers-pexsol"],"banners":{"banner":"https:\/\/ps.w.org\/pexsol-alerts-contact-form-7\/assets\/banner-772x250.png?rev=3614551","banner_2x":"https:\/\/ps.w.org\/pexsol-alerts-contact-form-7\/assets\/banner-1544x500.png?rev=3614551","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/pexsol-alerts-contact-form-7\/assets\/icon.svg?rev=3614551","icon":"https:\/\/ps.w.org\/pexsol-alerts-contact-form-7\/assets\/icon.svg?rev=3614551","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Contact Form 7 shows its success and error notices as plain text beneath the form. <strong>Pexsol Alerts for Contact Form 7<\/strong> intercepts those submission events and presents a modern <a href=\"https:\/\/sweetalert2.github.io\/\">SweetAlert2<\/a> modal or toast instead \u2014 no template edits, no shortcode changes, no extra markup in your forms.<\/p>\n\n<p>Activate it and every CF7 form on your site immediately responds with a popup for the four submission states: success, validation error, spam, and mail failure. A dedicated settings screen under <strong>Contact \u2192 Pexsol Alerts<\/strong> lets you tune colors, size, placement, timing, buttons, and an optional post-submit redirect, with a live preview so you can see changes before saving.<\/p>\n\n<h4>Built for performance<\/h4>\n\n<p>The SweetAlert2 library is only loaded on pages that actually contain a Contact Form 7 form. Pages without a form stay lean \u2014 nothing extra is requested.<\/p>\n\n<h4>Highlights<\/h4>\n\n<ul>\n<li>Works the moment it is activated \u2014 sensible defaults, no setup required.<\/li>\n<li>One settings panel grouped into Appearance, Behavior, Buttons &amp; Actions, and Success Redirect.<\/li>\n<li>Live preview button that renders a popup from the values currently in the form.<\/li>\n<li>Accent color, icon color, background color, and custom width.<\/li>\n<li>Centered modal or lightweight corner toast, in any of nine positions.<\/li>\n<li>Auto-hide timer, outside-click, Esc key, and close-button controls.<\/li>\n<li>Optional redirect (with delay) after a successful submission.<\/li>\n<li>Conditional asset loading \u2014 SweetAlert2 loads only where a form exists.<\/li>\n<li>Single-row settings storage and a clean uninstall that removes its data.<\/li>\n<li>Translation-ready (text domain: <code>pexsol-alerts-contact-form-7<\/code>).<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>pexsol-alerts-contact-form-7<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the ZIP via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate <strong>Pexsol Alerts for Contact Form 7<\/strong> from the <strong>Plugins<\/strong> screen.<\/li>\n<li>Ensure <strong>Contact Form 7<\/strong> is installed and active.<\/li>\n<li>(Optional) Visit <strong>Contact \u2192 Pexsol Alerts<\/strong> to customize the popups.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20need%20any%20configuration%3F\"><h3>Does it need any configuration?<\/h3><\/dt>\n<dd><p>No. It works with sensible defaults as soon as it is activated.<\/p><\/dd>\n<dt id=\"where%20are%20the%20settings%3F\"><h3>Where are the settings?<\/h3><\/dt>\n<dd><p>Under <strong>Contact \u2192 Pexsol Alerts<\/strong> in the WordPress admin.<\/p><\/dd>\n<dt id=\"will%20it%20change%20how%20contact%20form%207%20validates%20or%20sends%20mail%3F\"><h3>Will it change how Contact Form 7 validates or sends mail?<\/h3><\/dt>\n<dd><p>No. It only replaces the visual presentation of the result message. Validation, mail handling, and CF7 hooks are untouched.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20forms%20added%20by%20page%20builders%3F\"><h3>Does it work with forms added by page builders?<\/h3><\/dt>\n<dd><p>Yes. Detection hooks into Contact Form 7 itself, so any render path \u2014 shortcode, block, or builder widget \u2014 is covered.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20whole%20site%3F\"><h3>Does it slow down my whole site?<\/h3><\/dt>\n<dd><p>No. The popup library is enqueued only on pages that render a form.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20deactivate%20it%3F\"><h3>What happens when I deactivate it?<\/h3><\/dt>\n<dd><p>Contact Form 7 returns to its default inline messages. Deleting the plugin also removes its stored settings.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Prefixed every internal identifier so the plugin cannot collide with other plugins or themes: PHP namespace, option name, settings group, admin-post action, page slug, script\/style handles, JavaScript globals, and CSS classes now all use a \"pexsol_alerts\" \/ \"pexsol-alerts\" prefix.<\/li>\n<li>Existing settings are migrated automatically to the new option name on the first admin request after updating; nothing needs to be reconfigured.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Renamed to \"Pexsol Alerts for Contact Form 7\" (text domain \"pexsol-alerts-contact-form-7\") so the name is distinctive and does not lead with another project's name.<\/li>\n<li>Compatibility: tested up to WordPress 7.0.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fixed: popup settings (close button, auto-hide, outside-click, and Escape-to-close) were ignored on themes that render the form before wp_enqueue_scripts (e.g. block\/FSE themes), because the settings payload was dropped. Assets are now registered defensively before localization.<\/li>\n<li>Hardened: added direct-access guards (ABSPATH check) to all PHP class files.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Rebuilt from the ground up on a namespaced, schema-driven architecture.<\/li>\n<li>Settings now stored in a single option row instead of many.<\/li>\n<li>jQuery-free front-end handler using Contact Form 7's native events.<\/li>\n<li>Added a proper uninstall routine (single- and multisite).<\/li>\n<li>Refreshed settings UI with panel layout and modern default styling.<\/li>\n<\/ul>","raw_excerpt":"Swap Contact Form 7&#039;s plain inline messages for polished SweetAlert2 popups. Configure everything from one schema-driven settings panel.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/334909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=334909"}],"author":[{"embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pexsol"}],"wp:attachment":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=334909"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=334909"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=334909"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=334909"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=334909"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=334909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}