[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fgwR71XnWZGo_o2dH1EdYPpBp4M-ZOddRAeRFil8iwVU":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":18,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":37,"analysis":136,"fingerprints":214},"contact-page","Contact Page","1.0","Marek","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarekbosman\u002F","\u003Cp>Create a contact page that is easy to maintain, with some special features like fully customizable Google Maps integration and Twitter feed.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Google Maps\u003C\u002Fli>\n\u003Cli>Twitter\u003C\u002Fli>\n\u003Cli>Facebook\u003C\u002Fli>\n\u003Cli>LinkedIn\u003C\u002Fli>\n\u003C\u002Ful>\n","Easily create a contact page with relevant address information, Google Maps, your latest tweets and links to relevant social media profiles.",300,15447,70,2,"2012-12-11T15:17:00.000Z","3.5.2","3.0","",[20,21,22,23,24],"address","contact","google-maps","page","twitter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontact-page.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":33,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"marekbosman",380,30,84,"2026-04-05T02:28:23.215Z",[38,59,77,93,113],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":27,"num_ratings":27,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":51,"tags":52,"homepage":18,"download_link":57,"security_score":58,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"map-field-for-contact-form-7","Map Field for Contact Form 7","4.0","theme funda","https:\u002F\u002Fprofiles.wordpress.org\u002Fgravitymaster97\u002F","\u003Cp>\u003Cstrong>Google Map Field for Contact Form 7\u003C\u002Fstrong> is the most complete solution for adding a Google Places address autocomplete field to your Contact Form 7 forms. Users type a few characters, select from live suggestions, and an interactive Google Map appears instantly — no page reload needed.\u003C\u002Fp>\n\u003Cp>The draggable marker lets users fine-tune the exact pin position. When dragged, the address and coordinates update automatically via reverse geocoding — so what gets submitted is always accurate.\u003C\u002Fp>\n\u003Ch3>✨ Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Google Places Autocomplete\u003C\u002Fstrong> — real-time address suggestions powered by the Google Places API (new PlaceAutocompleteElement)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Always-visible interactive map\u003C\u002Fstrong> — map renders on page load using your configured default centre; no address selection required\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Draggable marker\u003C\u002Fstrong> — users drag the pin to the exact location; address and lat\u002Flng fields update automatically via reverse geocoding\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive map heights\u003C\u002Fstrong> — set separate pixel heights for desktop (> 768 px) and mobile (≤ 768 px) from the admin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Default map centre\u003C\u002Fstrong> — configure a default latitude and longitude so the map opens on the right region for your audience\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Address component sub-fields\u003C\u002Fstrong> — optionally show separate inputs for Street Number, City, State, Postcode, and Country; each auto-populated on place selection\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Country filter\u003C\u002Fstrong> — restrict autocomplete suggestions to one or more countries using ISO 3166-1 alpha-2 codes (e.g. \u003Ccode>in\u003C\u002Fcode>, \u003Ccode>us\u003C\u002Fcode>, \u003Ccode>gb\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Place type filter\u003C\u002Fstrong> — limit suggestions to specific place types such as \u003Ccode>airport\u003C\u002Fcode>, \u003Ccode>restaurant\u003C\u002Fcode>, or \u003Ccode>art_gallery\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mail-tag support\u003C\u002Fstrong> — use \u003Ccode>[fieldname-locality]\u003C\u002Fcode>, \u003Ccode>[fieldname-state]\u003C\u002Fcode>, \u003Ccode>[fieldname-postcode]\u003C\u002Fcode>, and \u003Ccode>[fieldname-country]\u003C\u002Fcode> mail tags in CF7 email templates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lat\u002FLng hidden fields\u003C\u002Fstrong> — latitude and longitude are captured as hidden fields for backend processing or CRM integrations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Elementor popup compatible\u003C\u002Fstrong> — autocomplete and map re-initialise correctly when used inside Elementor popups\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Elegant form field design\u003C\u002Fstrong> — modern, accessible frontend styling with focus rings, smooth transitions, and validation error states\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translation ready\u003C\u002Fstrong> — all field labels are customisable from the settings page; compatible with WPML and Polylang\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🗺️ How It Works\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Install and activate the plugin (Contact Form 7 must be active)\u003C\u002Fli>\n\u003Cli>Go to \u003Cstrong>Contact \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Google Place API\u003C\u002Fstrong> and enter your Google Places API key\u003C\u002Fli>\n\u003Cli>In any CF7 form editor, use the new \u003Cstrong>Field Autocomplete\u003C\u002Fstrong> tag to insert a \u003Ccode>[googlemapfield]\u003C\u002Fcode> tag\u003C\u002Fli>\n\u003Cli>Configure map height, default centre, and address sub-fields from the settings page\u003C\u002Fli>\n\u003Cli>The map appears automatically on your form — users pick an address and the marker updates in real time\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>🔑 Google API Key Setup\u003C\u002Fh3>\n\u003Cp>This plugin requires a Google Cloud API key with the following APIs enabled:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Maps JavaScript API\u003C\u002Fli>\n\u003Cli>Places API (New)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.codesmade.com\u002Fcreate-google-map-place-api-key\u002F\" rel=\"nofollow ugc\">Full setup guide \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>📬 Mail Tag Reference\u003C\u002Fh3>\n\u003Cp>After adding a \u003Ccode>[googlemapfield your-location]\u003C\u002Fcode> tag to your form, use these mail tags in your CF7 email template:\u003C\u002Fp>\n\u003Cp>  Mail Tag\u003Cbr \u002F>\n  Returns\u003C\u002Fp>\n\u003Cp>  \u003Ccode>[your-location]\u003C\u002Fcode>\u003Cbr \u002F>\n  Full formatted address\u003C\u002Fp>\n\u003Cp>  \u003Ccode>[your-location-locality]\u003C\u002Fcode>\u003Cbr \u002F>\n  City \u002F Locality\u003C\u002Fp>\n\u003Cp>  \u003Ccode>[your-location-state]\u003C\u002Fcode>\u003Cbr \u002F>\n  State \u002F Province\u003C\u002Fp>\n\u003Cp>  \u003Ccode>[your-location-postcode]\u003C\u002Fcode>\u003Cbr \u002F>\n  Postal code\u003C\u002Fp>\n\u003Cp>  \u003Ccode>[your-location-country]\u003C\u002Fcode>\u003Cbr \u002F>\n  Country\u003C\u002Fp>\n\u003Ch3>💼 Use Cases\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Delivery forms\u003C\u002Fstrong> — capture precise delivery addresses with postcode and city auto-filled\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Event registration\u003C\u002Fstrong> — let attendees specify their nearest location or venue\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Job applications\u003C\u002Fstrong> — collect applicant location with lat\u002Flng for distance filtering\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Real estate enquiries\u003C\u002Fstrong> — capture property address with map confirmation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Service booking\u003C\u002Fstrong> — validate service area coverage before form submission\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Travel & hospitality\u003C\u002Fstrong> — autocomplete hotel, airport, or attraction names\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy & External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to Google’s servers to load the Maps JavaScript API and retrieve place suggestions and geocoding results. By using this plugin you agree to:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcloud.google.com\u002Fmaps-platform\u002Fterms\" rel=\"nofollow ugc\">Google Maps Platform Terms of Service\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fprivacy\" rel=\"nofollow ugc\">Google Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>No personal data is collected or stored by this plugin itself. Address data entered by users is sent directly to Google’s API from the visitor’s browser.\u003C\u002Fp>\n","Add a Google Maps autocomplete address field with a live interactive map to any Contact Form 7 form. Supports draggable marker, address components, an &hellip;",80,1447,"2026-03-15T10:02:00.000Z","6.7.5","5.5","7.4",[53,54,22,55,56],"address-autocomplete","contact-form-7","google-places","map-field","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmap-field-for-contact-form-7.zip",100,{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":58,"num_ratings":14,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":18,"tags":72,"homepage":75,"download_link":76,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"auto-maps","Auto Maps","1.0.0","sureshdsk","https:\u002F\u002Fprofiles.wordpress.org\u002Fsureshdsk\u002F","\u003Cp>Automatically turn address tags into google maps embed code.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cp>    1600 Amphitheatre Pkwy, Mountain View, CA 94043, United States\u003C\u002Fp>\n\u003Cp>For more information visit plugin page \u003Ca href=\"http:\u002F\u002Fwww.idiotinside.com\u002Fautomaps-wordpress-plugin\u002F\" rel=\"nofollow ugc\">Auto Maps\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\nFollow us :\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Ffacebook.com\u002Fidiotinside\u002F\" rel=\"nofollow ugc\">facebook\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FIdiotInside_\" rel=\"nofollow ugc\">twitter\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fplus.google.com\u002F106331226863845057962\" rel=\"nofollow ugc\">google+\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsureshdsk\u002Fbrowser-specific-css\" rel=\"nofollow ugc\">github\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.idiotinside.com\u002F\" rel=\"nofollow ugc\">IdiotInside.com\u003C\u002Fa>\u003C\u002Fp>\n","Automatically turn address tags into google maps embed code.",10,1848,"2014-09-23T05:10:00.000Z","4.0.38","3.0.1",[20,21,73,22,74],"google","maps","http:\u002F\u002Fwww.idiotinside.com\u002Fautomaps-wordpress-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauto-maps.zip",{"slug":78,"name":79,"version":6,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":67,"downloaded":84,"rating":58,"num_ratings":14,"last_updated":85,"tested_up_to":86,"requires_at_least":71,"requires_php":18,"tags":87,"homepage":91,"download_link":92,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"google-maps-and-distance-finder","Google Maps and Distance Finder plugin","AspireSolution","https:\u002F\u002Fprofiles.wordpress.org\u002Faspiresolution\u002F","\u003Cp>Google Maps and Distance Finder lets you add an interactive google map to the wordpress site. On the contact page of your website you can now have a google map that will locate the user location and will calculate the distance between user location and your company\u002Fstore.\u003Cbr \u002F>\nThe plugin also lets user change their location by entering their zip code.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003Cbr \u002F>\n1. Google Maps and Distance Finder is based on the latest Google maps API v3\u003Cbr \u002F>\n2. WordPress MultiSite compatible\u003Cbr \u002F>\n3. Easy integration by using short code   \u003Cbr \u002F>\n4. Add custom marker images from WP backend for yoru store\u002Fcompany and user location  \u003Cbr \u002F>\n5. Site users can get exact distance with directions  \u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","A brief description of the Plugin.",3024,"2013-11-21T06:36:00.000Z","3.4.2",[88,22,89,90],"contact-page-google-map","path-finder","store-locator","http:\u002F\u002Ftest.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgoogle-maps-and-distance-finder.zip",{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":67,"downloaded":101,"rating":27,"num_ratings":27,"last_updated":102,"tested_up_to":103,"requires_at_least":104,"requires_php":105,"tags":106,"homepage":111,"download_link":112,"security_score":58,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"productive-forms","Productive Forms – Contact Us, Newsletter Opt-ins & Content Publishing","1.1.39","Productive Minds","https:\u002F\u002Fprofiles.wordpress.org\u002Fproductiveminds\u002F","\u003Cp>Simplify customer communications through multiple preferred channels such as contact forms, phone number, email address, WhatsApp, and social media platforms. Easily export “Contact Us” and newsletter opt-in submissions to integrate your website lists into your favourite marketing platforms like Mailchimp and Omnisend.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.productiveminds.com\u002Fproductive-forms\" rel=\"nofollow ugc\">Live Demo\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Why Choose This plugin?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Easily generate and customize Contact Us pages and forms across your website using Gutenberg blocks or Elementor widgets.\u003C\u002Fli>\n\u003Cli>Craft and publish Newsletter opt-in forms throughout your website with Gutenberg block or Elementor widget integration.\u003C\u002Fli>\n\u003Cli>Not using Gutenberg or Elementor? Utilize shortcodes to quickly insert pre-designed contact forms and newsletter opt-ins.\u003C\u002Fli>\n\u003Cli>Embed and fine-tune Google Maps to showcase your location.\u003C\u002Fli>\n\u003Cli>Choose from three robust spam prevention methods for each form: (1) subtle verification field, (2) mathematical challenge, or (3) Google reCAPTCHA v3.\u003C\u002Fli>\n\u003Cli>Securely store form submissions in the WordPress database, ensuring data retention even if email delivery fails.\u003C\u002Fli>\n\u003Cli>Configure multiple email recipients for form submissions, with the option to send a copy to the inquiring visitor.\u003C\u002Fli>\n\u003Cli>Easily export both Contact Us and newsletter subscription data directly from the WordPress admin panel.\u003C\u002Fli>\n\u003Cli>Generate CSV exports compatible with popular platforms like Mailchimp and Omnisend.\u003C\u002Fli>\n\u003Cli>Maintain compliance by incorporating consent requests for personal data collection and usage with each form submission.\u003C\u002Fli>\n\u003Cli>Flexibility to display first and last name fields separately or combined, with an email-only option for simplified opt-in forms.\u003C\u002Fli>\n\u003Cli>Enhance user experience with Ajax-powered form submissions for smooth interaction.\u003C\u002Fli>\n\u003Cli>Customize Contact Us forms by choosing to display or hide the phone number field.\u003C\u002Fli>\n\u003Cli>Versatile Contact Us page options including phone number, WhatsApp contact, email address, physical location, and business hours.\u003C\u002Fli>\n\u003Cli>Highly adaptable design that seamlessly integrates with your website’s style.\u003C\u002Fli>\n\u003Cli>Create and publish diverse content layouts including grids, lists, sliders, and gridded lists. Ideal for showcasing other information such as multiple branches, alternative contact methods, or links to support resources.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Plugin Pages\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.productiveminds.com\u002Fproduct\u002Fproductive-forms\" rel=\"nofollow ugc\">Complete plugin description\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.productiveminds.com\u002Fproductive-forms\" rel=\"nofollow ugc\">Live Demo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.productiveminds.com\u002Fsupport\u002Fdocs\u002Fproductive-forms\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.productiveminds.com\u002Fsupport\" rel=\"nofollow ugc\">Customer Support\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For a complete list of features, visit the \u003Ca href=\"http:\u002F\u002Fwww.productiveminds.com\u002Fproduct\u002Fproductive-forms#features\" rel=\"nofollow ugc\">plugin’s page here\u003C\u002Fa>.\u003Cbr \u002F>\nFor an in-depth comparison between the free and Pro versions, see the \u003Ca href=\"http:\u002F\u002Fwww.productiveminds.com\u002Fproduct\u002Fproductive-forms#free-vs-pro\" rel=\"nofollow ugc\">Free vs Pro section\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Attribution\u003C\u002Fh3>\n\u003Cp>swiperjs, The Most Modern Mobile Touch Slider\u003Cbr \u002F>\nhttps:\u002F\u002Fgithub.com\u002Fnolimits4web\u002Fswiper\u003Cbr \u002F>\nLicense: MIT Licensed\u003Cbr \u002F>\nLicense URL: https:\u002F\u002Fgithub.com\u002Fnolimits4web\u002Fswiper?tab=MIT-1-ov-file\u003C\u002Fp>\n","Prebuilt 'Contact Us' pages, newsletter opt-ins, content sliders, FAQs, team members, and testimonials using Elementor and Gutenberg.",7960,"2026-03-02T15:57:00.000Z","6.9.4","5.4","7.0",[107,108,22,109,110],"contact-form","contact-us-page","newsletter-opt-in-form","newsletter-subscription","https:\u002F\u002Fwww.productiveminds.com\u002Fproduct\u002Fproductive-forms","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fproductive-forms.1.1.39.zip",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":121,"downloaded":122,"rating":35,"num_ratings":123,"last_updated":124,"tested_up_to":103,"requires_at_least":125,"requires_php":18,"tags":126,"homepage":131,"download_link":132,"security_score":133,"vuln_count":134,"unpatched_count":27,"last_vuln_date":135,"fetched_at":29},"contact-form-7-multi-step-module","Contact Form 7 Multi-Step Forms","4.6","webheadcoder","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebheadllc\u002F","\u003Cp>Add multi-step forms to Contact Form 7 with full data persistence between pages and a single email on final submission. Upgrade to Pro to submit 5MB forms through sessionStorage, conditional step-skipping, and priority support.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The Original Contact Form 7 Multi-Step Plugin\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Since 2012, this has been the go-to multi-step solution for Contact Form 7 users. It’s built for reliability and trusted on thousands of sites. Split your CF7 form across multiple pages, preserve data between steps, and send one complete email at the end.\u003C\u002Fp>\n\u003Cp>It’s been running quietly on thousands of sites through every major WordPress and CF7 release. If you need multi-step forms with CF7, this is where most people start.\u003C\u002Fp>\n\u003Cp>See it in action at \u003Ca href=\"https:\u002F\u002Fwebheadcoder.com\u002Fcontact-form-7-multi-step-form\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fwebheadcoder.com\u002Fcontact-form-7-multi-step-form\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Requires \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"ugc\">Contact Form 7\u003C\u002Fa> (5.2 or above) by Rock Lobster Inc. (Takayuki Miyoshi).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Usage\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>Create one page or post for each step in your multi-step form process.  If you have 3 steps, create 3 pages\u002Fposts.  You will need the urls to these when creating your forms.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Create a Contact Form 7 form.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Place your cursor at the end of the form.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>On the “Form” tab of the Contact Form 7 form, click on the button named “multistep”.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>In the window that pops up, check the checkbox next to “First Step” if this is the first step of your multi step forms.  If this is your last step in the multi step forms, check the “Last Step” checkbox.  All other checkboxes are optional.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The Next Page URL is the url that contains your next form.  If this form is the last step, you can leave the URL field blank.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Click “Insert Tag”\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Save your completed form and place the form’s shortcode into the appropriate Page\u002FPost you created in step 1.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Repeat for \u003Cstrong>each form\u003C\u002Fstrong> in your multi-step form process.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>On the last step, you probably would want to send an email.  Make sure to check the “Send Email” checkbox in step 5.  On the Mail Tab, simply enter the mail-tags as you normally would.  For example if your first form has the field \u003Ccode>your-email\u003C\u002Fcode> you can include \u003Ccode>[your-email]\u003C\u002Fcode> in the Mail tab on your last form.  Note:  CF7 will see this as an error because \u003Ccode>your-email\u003C\u002Fcode> may not be displayed on the current form.  You can safely ignore this error.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Multistep Tag Options\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Name\u003C\u002Fstrong> – The name of this multistep form-tag.  This is required, but is currently not being used.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>First Step\u003C\u002Fstrong> – Besides marking the first step of your multistep forms, this allows any form to act as the first step and show when no previous data has ben submitted.  This is useful when you want some users to skip the first step.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Last Step\u003C\u002Fstrong> – Besides marking the last step of you multistep forms, this clears the data from user’s browsers.  Once they submit this form they won’t see their data populating the forms anymore.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Send Email\u003C\u002Fstrong> – If this is checked the form will send an email like a normal Contact Form 7 submission.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Skip Save\u003C\u002Fstrong> – If you use Flamingo or CFDB7 to save submissions to the database this prevents saving this form submission.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Next Page URL\u003C\u002Fstrong> – This is the URL your users will go to after the form is submitted.\u003C\u002Fp>\n\u003Cp>[multistep multistep-123 last_step send_email skip_save “\u002Fthank-you”]\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Additional Tags\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[multiform \"your-name\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The \u003Ccode>multiform\u003C\u002Fcode> form-tag can be used to display a field from a previous step.  Replace \u003Ccode>your-name\u003C\u002Fcode> with the name of your field.  This is only for use on the Form tab, this tag will not work in the Mail tab.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[previous \"Go Back\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The \u003Ccode>previous\u003C\u002Fcode> form-tag can be used to display a button to go to a previous step.  Replace \u003Ccode>Go Back\u003C\u002Fcode> with text you want to show in the button.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Messages Tab\u003C\u002Fstrong>\u003Cbr \u002F>\nWhen a visitor to your site visits the 4th step in your multi step form without filling out the 1st step, the message “Please fill out the form on the previous page.” will be displayed.  You can change this on each form in the Messages tab.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What this plugin DOES NOT do:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>This plugin does not support file uploads on every form.  If you need to use file uploads make sure to place it on the last step.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>This plugin does not load another form on the same page.  It only works when the forms are on separate pages.  Many have asked to make it load via ajax so all forms can reside on one page.  This plugin does not support that.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>PRO Version\u003C\u002Fstrong>\u003Cbr \u002F>\nIf you expect to have a lot of data submitted through your multi-step forms, the Pro version may be able to help you better.  The PRO version uses Session Storage so it is able to handle roughly 1,000 times more data for your multiple forms.  In total it can handle about 5MB vs 4KB in the free version.  \u003Cstrong>Currently the Pro version REQUIRES the WordPress REST API and Contact Form 7 AJAX Submission to be enabled.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Another feature the Pro version offers is the ability to skip steps with the “Contact Form 7 – Conditional Fields plugin”.  \u003Ca href=\"https:\u002F\u002Fwebheadcoder.com\u002Fcontact-form-7-multi-step-forms\u002F#pro\" rel=\"nofollow ugc\">Learn more here.\u003C\u002Fa>\u003C\u002Fp>\n","Enables the Contact Form 7 plugin to create multi-page, multi-step forms.",50000,821068,49,"2026-02-16T17:47:00.000Z","4.7",[127,54,128,129,130],"cf7","multi-page-form","multistep-form","persist","http:\u002F\u002Fwww.mymonkeydo.com\u002Fcontact-form-7-multi-step-module\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontact-form-7-multi-step-module.4.6.zip",99,1,"2019-02-25 00:00:00",{"attackSurface":137,"codeSignals":156,"taintFlows":201,"riskAssessment":202,"analyzedAt":213},{"hooks":138,"ajaxHandlers":149,"restRoutes":150,"shortcodes":151,"cronEvents":155,"entryPointCount":134,"unprotectedCount":27},[139,145],{"type":140,"name":141,"callback":142,"file":143,"line":144},"action","admin_init","admin_init_settings","contact-page.php",55,{"type":140,"name":146,"callback":147,"file":143,"line":148},"admin_menu","add_admin_page",56,[],[],[152],{"tag":4,"callback":153,"file":143,"line":154},"add_contactpage",61,[],{"dangerousFunctions":157,"sqlUsage":158,"outputEscaping":160,"fileOperations":27,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":200},[],{"prepared":27,"raw":27,"locations":159},[],{"escaped":134,"rawEcho":161,"locations":162},18,[163,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198],{"file":143,"line":164,"context":165},156,"raw output",{"file":143,"line":167,"context":165},161,{"file":143,"line":169,"context":165},165,{"file":143,"line":171,"context":165},169,{"file":143,"line":173,"context":165},173,{"file":143,"line":175,"context":165},177,{"file":143,"line":177,"context":165},181,{"file":143,"line":179,"context":165},185,{"file":143,"line":181,"context":165},191,{"file":143,"line":183,"context":165},195,{"file":143,"line":185,"context":165},197,{"file":143,"line":187,"context":165},203,{"file":143,"line":189,"context":165},218,{"file":143,"line":191,"context":165},224,{"file":143,"line":193,"context":165},231,{"file":143,"line":195,"context":165},246,{"file":143,"line":197,"context":165},272,{"file":143,"line":199,"context":165},303,[],[],{"summary":203,"deductions":204},"The \"contact-page\" v1.0 plugin exhibits a generally positive security posture due to its adherence to some good development practices. The complete absence of SQL queries that are not using prepared statements and a lack of file operations or external HTTP requests are commendable.  Furthermore, the plugin has no recorded vulnerabilities, which is a strong indicator of its current stability and security.  However, several significant concerns arise from the static analysis. The very low percentage of properly escaped output (5%) represents a substantial risk, as unescaped output can lead to cross-site scripting (XSS) vulnerabilities.  The lack of nonce checks and capability checks is also worrying, as these are fundamental security mechanisms that protect against unauthorized actions and CSRF attacks, especially given the presence of a shortcode which is a potential entry point. The 100% absence of taint analysis results suggests that either the analysis was not performed thoroughly or there were no complex data flow issues detected, which is positive but doesn't negate the risks from output and authorization.\n\nIn conclusion, while the plugin benefits from a clean vulnerability history and the absence of dangerous functions or raw SQL, the poor output escaping and lack of critical authorization checks (nonces and capabilities) create notable security weaknesses.  These weaknesses, particularly the unescaped output, could be exploited to compromise user sessions or inject malicious scripts. The absence of taint analysis that shows critical\u002Fhigh severity is a positive sign, but it doesn't fully mitigate the direct risks identified by the static analysis of output handling and authorization. Users should be cautious until these output escaping and authorization issues are addressed.",[205,208,211],{"reason":206,"points":207},"Low percentage of properly escaped output",8,{"reason":209,"points":210},"Missing nonce checks",5,{"reason":212,"points":210},"Missing capability checks","2026-03-16T20:07:08.621Z",{"wat":215,"direct":224},{"assetPaths":216,"generatorPatterns":219,"scriptPaths":220,"versionParams":221},[217,218],"\u002Fwp-content\u002Fplugins\u002Fcontact-page\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fcontact-page\u002Fjs\u002Fscripts.js",[],[218],[222,223],"contact-page\u002Fcss\u002Fstyle.css?ver=","contact-page\u002Fjs\u002Fscripts.js?ver=",{"cssClasses":225,"htmlComments":229,"htmlAttributes":233,"restEndpoints":244,"jsGlobals":245,"shortcodeOutput":247},[226,227,228],"contact-page-form-row","contact-page-social-icon","contact-page-map-canvas",[230,231,232],"\u003C!-- Begin Contact Page Settings -->","\u003C!-- Social Media Settings -->","\u003C!-- Google Maps Settings -->",[234,235,236,237,238,239,240,241,242,243],"data-contact-page-email","data-contact-page-phone","data-contact-page-twitter","data-contact-page-facebook","data-contact-page-linkedin","data-contact-page-map-lat","data-contact-page-map-lng","data-contact-page-map-zoom","data-contact-page-map-terrain","data-contact-page-map-lang",[],[246],"contactPageSettings",[248,249,250,251],"\u003Cdiv class=\"contact-page-container\">","\u003Cdiv class=\"contact-page-address-block\">","\u003Cdiv class=\"contact-page-social-links\">","\u003Cdiv class=\"contact-page-map-wrapper\">"]