{"id":376155,"date":"2026-10-01T07:23:18","date_gmt":"2026-10-01T07:23:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/formcourier-modal-window\/"},"modified":"2026-10-01T07:33:01","modified_gmt":"2026-10-01T07:33:01","slug":"formcourier-modal-window","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/formcourier-modal-window\/","author":20030558,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.1","stable_tag":"1.1.1","tested":"7.1.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"FormCourier Modal Window","header_author":"Den Slav","header_description":"Opens WordPress forms and shortcode content in an accessible modal from elements with configured CSS classes.","assets_banners_color":"ebf4fe","last_updated":"2026-10-01 07:33:01","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":77,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"densslav","date":"2026-10-01 07:22:43","revision":3722561},"1.1.1":{"tag":"1.1.1","author":"densslav","date":"2026-10-01 07:33:01","revision":3722583}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3722570,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3722570,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3722570,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3722570,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.1.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3722577,"resolution":"1","location":"assets","locale":"","width":1672,"height":941},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3722577,"resolution":"2","location":"assets","locale":"","width":1672,"height":941}},"screenshots":{"1":"Configure the shortcode and one or more trigger CSS classes on the FormCourier Modal Window settings page.","2":"An example shortcode-rendered contact form displayed in the accessible modal window."}},"plugin_section":[],"plugin_tags":[358,601,613,491,80],"plugin_category":[42,43],"plugin_contributors":[275956],"plugin_business_model":[],"class_list":["post-376155","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form","plugin_tags-forms","plugin_tags-modal","plugin_tags-popup","plugin_tags-shortcode","plugin_category-contact-forms","plugin_category-customization","plugin_contributors-densslav","plugin_committers-densslav"],"banners":{"banner":"https:\/\/ps.w.org\/formcourier-modal-window\/assets\/banner-772x250.png?rev=3722570","banner_2x":"https:\/\/ps.w.org\/formcourier-modal-window\/assets\/banner-1544x500.png?rev=3722570","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/formcourier-modal-window\/assets\/icon-128x128.png?rev=3722570","icon_2x":"https:\/\/ps.w.org\/formcourier-modal-window\/assets\/icon-256x256.png?rev=3722570","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/formcourier-modal-window\/assets\/screenshot-1.png?rev=3722577","caption":"Configure the shortcode and one or more trigger CSS classes on the FormCourier Modal Window settings page."},{"src":"https:\/\/ps.w.org\/formcourier-modal-window\/assets\/screenshot-2.png?rev=3722577","caption":"An example shortcode-rendered contact form displayed in the accessible modal window."}],"raw_content":"<!--section=description-->\n<p>FormCourier Modal Window is a lightweight plugin for displaying WordPress forms and other shortcode-generated content in an accessible modal window.<\/p>\n\n<p>Add a shortcode in the plugin settings, configure one or more CSS trigger classes, and any matching button, link, or other element can open the same modal.<\/p>\n\n<p>The plugin focuses on one task. It does not include a form builder, marketing automation, analytics, tracking, or an external service. The shortcode content is generated by WordPress or by the plugin that registered the shortcode.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Display WordPress shortcode content inside a modal window.<\/li>\n<li>Open the same modal from any number of buttons, links, or other elements.<\/li>\n<li>Configure multiple trigger CSS classes.<\/li>\n<li>Support dynamically added trigger elements through event delegation.<\/li>\n<li>Close the modal with the close button, backdrop click, or Escape key.<\/li>\n<li>Keep keyboard focus inside the open dialog and return focus to the trigger after closing.<\/li>\n<li>Respect reduced-motion preferences.<\/li>\n<li>Load frontend assets only when a shortcode and at least one trigger class are configured.<\/li>\n<li>No external API requests, tracking, or remote dependencies.<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<p>For example, configure this shortcode:<\/p>\n\n<pre><code>[contact-form-7 id=\"123\" title=\"Contact form\"]\n<\/code><\/pre>\n\n<p>Then configure this trigger class:<\/p>\n\n<pre><code>open-contact-modal\n<\/code><\/pre>\n\n<p>Add <code>open-contact-modal<\/code> as a CSS class to a button or link on the site. Clicking that element opens the configured shortcode content in the modal.<\/p>\n\n<p>The plugin uses event delegation, so matching elements added dynamically after page load can also open the modal.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>FormCourier Modal Window does not collect, store, or transmit visitor data by itself.<\/p>\n\n<p>Any data submitted through content displayed inside the modal is handled by the plugin or service that provides the configured shortcode. Review that plugin or service's privacy behavior separately.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP from Plugins &gt; Add Plugin &gt; Upload Plugin, or install it from the WordPress Plugin Directory after publication.<\/li>\n<li>Activate FormCourier Modal Window.<\/li>\n<li>Open FormCourier Modal Window in the WordPress admin menu.<\/li>\n<li>Enter the shortcode that should be displayed inside the modal.<\/li>\n<li>Enter one or more trigger CSS classes.<\/li>\n<li>Save the settings.<\/li>\n<li>Add one of the configured classes to any button, link, or other element that should open the modal.<\/li>\n<\/ol>\n\n<p>Example trigger classes:<\/p>\n\n<pre><code>open-email-modal\nheader-contact-button\nfooter-contact-button\n<\/code><\/pre>\n\n<p>The leading dot is optional in the settings. Classes can be entered one per line or separated by spaces or commas.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20form%20plugins%20are%20supported%3F\"><h3>Which form plugins are supported?<\/h3><\/dt>\n<dd><p>The plugin can display content generated by any standard WordPress shortcode. This includes form plugins that register shortcodes, such as Contact Form 7 and similar plugins.<\/p><\/dd>\n<dt id=\"can%20multiple%20buttons%20open%20the%20same%20modal%3F\"><h3>Can multiple buttons open the same modal?<\/h3><\/dt>\n<dd><p>Yes. Add any configured trigger class to as many buttons, links, or other elements as needed.<\/p><\/dd>\n<dt id=\"can%20i%20configure%20more%20than%20one%20trigger%20class%3F\"><h3>Can I configure more than one trigger class?<\/h3><\/dt>\n<dd><p>Yes. Enter classes one per line or separate them with spaces or commas. Any configured class can open the modal.<\/p><\/dd>\n<dt id=\"does%20formcourier%20modal%20window%20include%20a%20form%20builder%3F\"><h3>Does FormCourier Modal Window include a form builder?<\/h3><\/dt>\n<dd><p>No. The plugin displays content generated by an existing WordPress shortcode.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20data%20to%20external%20servers%3F\"><h3>Does the plugin send data to external servers?<\/h3><\/dt>\n<dd><p>No. FormCourier Modal Window does not make external API requests or transmit visitor data by itself.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20dynamically%20added%20elements%3F\"><h3>Does it work with dynamically added elements?<\/h3><\/dt>\n<dd><p>Yes. Trigger clicks are handled using event delegation, so matching elements added after page load can open the modal.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20form%20submissions%3F\"><h3>What happens to form submissions?<\/h3><\/dt>\n<dd><p>FormCourier Modal Window does not process form submissions itself. Submission handling is controlled by the form plugin or other shortcode provider whose content is displayed in the modal.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Added WordPress.org directory screenshots and visual assets.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Renamed the plugin to FormCourier Modal Window.<\/li>\n<li>Changed the plugin slug and text domain to <code>formcourier-modal-window<\/code>.<\/li>\n<li>Updated internal prefixes and asset handles to the FormCourier Modal Window namespace.<\/li>\n<li>Added compatibility with WordPress 7.1 and tested with WordPress 7.1.2.<\/li>\n<li>Added settings migration from previous option names.<\/li>\n<li>Added uninstall cleanup for plugin settings.<\/li>\n<li>Improved documentation, privacy information, and FAQ.<\/li>\n<li>Preserved accessible keyboard and focus behavior.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Open WordPress forms and shortcode content in an accessible modal from buttons, links, or any elements with configured CSS classes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/376155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=376155"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/densslav"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=376155"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=376155"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=376155"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=376155"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=376155"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=376155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}