[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fL95ZBhZ3EShpal4aDD-DrsdrsvGAYQXU6Ji4B486NqM":3,"$fgt2oAY1lHwVKoIM0WohhFZIcIgbNFvyd_QUyl2Osm2Y":303,"$ff1hBnbHbFnqdfaQ13GNveC4uG3TIeDI6iX-q6n3knAg":308},{"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":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"discovery_status":31,"vulnerabilities":32,"developer":33,"crawl_stats":29,"alternatives":39,"analysis":146,"fingerprints":280},"courier-address","Courier Address","3.2","anewholm","https:\u002F\u002Fprofiles.wordpress.org\u002Fanewholm\u002F","\u003Cp>This is a generic Courier Address field management plugin with special extensions for Courier delivery charging. It is compatable with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"ugc\">Contact Form 7\u003C\u002Fa> but also creates generic form element shortcodes. \u003Ca href=\"http:\u002F\u002Fwordpress.xsearchservices.com\u002Fallplugins\u002Fcourier-address\u002F\" rel=\"nofollow ugc\">Working example\u003C\u002Fa>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>[courier_address (from\u002Fto)] Courier Address possibility lookups \u002F predictions \u002F postcodes with GeoCoding.\u003Cbr \u002F>\ne.g. [courier_address from] [courier_address to]\u003Cbr \u002F>\nwith Postcode charges based on Addresses filled out in settings.\u003C\u002Fli>\n\u003Cli>[courier_distance] Distances with embedded Google map to show journey.\u003Cbr \u002F>\nbased on the names of other address fields, e.g. [courier_distance (from\u002Fto)]\u003C\u002Fli>\n\u003Cli>[courier_result (name)] Result calculations based on flexible equation in the settings:\u003Cbr \u002F>\ne.g. [courier_result price]\u003Cbr \u002F>\nMath.max({from-postal_code_price}, {to-postal_code_price})\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Courier Address field also enables all other installed shortcodes in \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"ugc\">Contact Form 7\u003C\u002Fa> forms, e.g. \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-tooltips\u002F\" rel=\"ugc\">simple_tooltip\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Example CF7 form\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>\u003Cdiv id=\"addresses\">\n  [courier_address* from required-address-detail:postcode_charge]Where?[\u002Fcourier_address*] \n  [courier_address* to  required-address-detail:postcode_charge]To?[\u002Fcourier_address*]\n\u003C\u002Fdiv>\n\n\u003Cdiv id=\"results\" class=\"when-has-price\">\n  \u003Clabel class=\"price-label\">Price:\u003C\u002Flabel> [courier_result* price currency:Ft]\n  [text* your-name placeholder \"Your Name\"]\n  [text* phone-number placeholder \"Phonenumber\"]\n  [submit \"Request Delivery\"]\n\u003C\u002Fdiv>\n\n[courier_distance* from to measure:km map:400]\n\u003C\u002Fcode>\u003C\u002Fpre>\n","[courier_address] Google address Autocomplete, [courier_distance] Google Map, [courier_result] price from configurable equation.",10,2325,100,1,"2017-06-27T10:53:00.000Z","4.7.33","4.0","",[20,21,22,23,24],"address","contact-form","field","form","google-map","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcourier-address","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcourier-address.3.2.zip",85,0,null,"2026-04-06T09:54:40.288Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},3,20,30,84,"2026-05-20T00:33:43.391Z",[40,61,80,105,126],{"slug":41,"name":42,"version":17,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":28,"num_ratings":28,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":18,"download_link":59,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":60},"map-field-for-contact-form-7","Map Field for Contact Form 7","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;",60,1925,"2026-03-15T10:02:00.000Z","6.7.5","5.5","7.4",[54,55,56,57,58],"address-autocomplete","contact-form-7","google-maps","google-places","map-field","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmap-field-for-contact-form-7.zip","2026-04-16T10:56:18.058Z",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":13,"downloaded":69,"rating":13,"num_ratings":14,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":18,"tags":73,"homepage":18,"download_link":79,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":60},"dco-address-field-for-contact-form-7","DCO Address Field for Contact Form 7","1.1","Denis Yanchevskiy","https:\u002F\u002Fprofiles.wordpress.org\u002Fdenisco\u002F","\u003Cp>Adds a autocomplete suggestion address field tag for Contact Form 7.\u003Cbr \u002F>\nUses Yandex Maps API (https:\u002F\u002Ftech.yandex.com\u002Fmaps\u002Fmapsapi\u002F) or Google Maps API (https:\u002F\u002Fdevelopers.google.com\u002Fmaps\u002Fdocumentation\u002Fjavascript\u002F) to find the address.\u003C\u002Fp>\n\u003Cp>You can restrict the country and\u002For city (Yandex only) in which the address will be searched for each field separately.\u003Cbr \u002F>\nTo restrict, you need to fill the default value attribute in the format \u003Ccode>Default value : Country, city\u003C\u002Fcode> (e.g. \u003Ccode>Enter the address : Russia\u003C\u002Fcode>, Moscow, \u003Ccode>Your address : London\u003C\u002Fcode>, \u003Ccode>: Moscow\u003C\u002Fcode>)\u003C\u002Fp>\n","Adds a autocomplete suggestion address field for Contact Form 7",3709,"2018-04-05T18:36:00.000Z","4.9.29","4.7",[74,75,76,77,78],"address-field","address-suggestion-contact-form-7","autocomplete","suggest","suggestion","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdco-address-field-for-contact-form-7.1.1.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":90,"num_ratings":91,"last_updated":92,"tested_up_to":93,"requires_at_least":94,"requires_php":95,"tags":96,"homepage":100,"download_link":101,"security_score":102,"vuln_count":103,"unpatched_count":28,"last_vuln_date":104,"fetched_at":60},"cf7-conditional-fields","Conditional Fields for Contact Form 7","2.6.8","Jules Colle","https:\u002F\u002Fprofiles.wordpress.org\u002Fjules-colle\u002F","\u003Cp>This plugin adds conditional logic to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"ugc\">Contact Form 7\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you edit your CF7 form, you will see an additional tag called “Conditional fields Group”. Everything you put between the start and end tag will be hidden by default.\u003Cbr \u002F>\nAfter you have added the field group(s), go to the “Conditional fields” tab to create one or more conditions that will make the group(s) appear.\u003C\u002Fp>\n\u003Cp>Conditional Fields for Contact Form 7 is an independent plugin. This plugin is not affiliated with or endorsed by the developers of Contact Form 7.\u003C\u002Fp>\n\u003Ch4>How to use it\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fconditional-fields-cf7.bdwm.be\u002Fconditional-fields-for-contact-form-7-tutorial\u002F\" rel=\"nofollow ugc\">Follow this tutorial\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Main features\u003C\u002Fh3>\n\u003Ch4>Support for required fields\u003C\u002Fh4>\n\u003Cp>Required fields inside hidden groups will never trigger validation errors.\u003C\u002Fp>\n\u003Ch4>Hide\u002Fshow info in emails based on what groups are visible\u003C\u002Fh4>\n\u003Cp>Conditional groups can now be added to the emails as well.\u003Cbr \u002F>\nJust wrap the content with \u003Ccode>[group-name] ... [\u002Fgroup-name]\u003C\u002Fcode> tags.\u003C\u002Fp>\n\u003Ch4>Groups can be nested\u003C\u002Fh4>\n\u003Cp>Groups can be nested, both in the form and in the email\u003C\u002Fp>\n\u003Cp>Example form:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[group group-1]\n  [group group-inside-1]\n    ...\n  [\u002Fgroup]\n[\u002Fgroup]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example email:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[group-1]\n  [group-inside-1]\n    ...\n  [\u002Fgroup-inside-1]\n[\u002Fgroup-1]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Advanced\u003C\u002Fh4>\n\u003Cp>Advanced users can code up the conditions as plain text instead of using the select boxes, using the Text View.\u003C\u002Fp>\n\u003Ch3>Need more power?\u003C\u002Fh3>\n\u003Cp>Just like WordPress, the power of Contact Form 7 lies in its \u003Ca href=\"https:\u002F\u002Fconditional-fields-cf7.bdwm.be\u002Flist-of-all-contact-form-7-extensions\u002F\" rel=\"nofollow ugc\">rich eco-system of extensions\u003C\u002Fa> that build on top of it. However, it can be difficult to find a set of complex extensions that work well together.\u003C\u002Fp>\n\u003Cp>That’s why I created Conditional Fields Pro. It adds some powerful features to Contact form 7 and guarantees that everything will run smoothly with Conditional Fields.\u003C\u002Fp>\n\u003Cp>Pro features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Repeatable fields (repeaters)\u003C\u002Fli>\n\u003Cli>Forms with multiple steps (multistep)\u003C\u002Fli>\n\u003Cli>Custom conditions with JavaScript functions\u003C\u002Fli>\n\u003Cli>Multiple file upload\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fconditional-fields-cf7.bdwm.be\u002Fcontact-form-7-conditional-fields-pro\u002F\" rel=\"nofollow ugc\">Get the PRO version of Conditional Fields for Contact Form 7!\u003C\u002Fa>\u003C\u002Fp>\n","Adds conditional logic to Contact Form 7.",100000,6414379,96,164,"2026-02-08T10:49:00.000Z","6.9.4","5.0","7.0",[97,98,55,23,99],"conditional-fields","conditional-logic","forms","http:\u002F\u002Fbdwm.be\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcf7-conditional-fields.2.6.8.zip",97,4,"2024-10-24 00:00:00",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":88,"downloaded":113,"rating":114,"num_ratings":13,"last_updated":115,"tested_up_to":93,"requires_at_least":51,"requires_php":52,"tags":116,"homepage":121,"download_link":122,"security_score":123,"vuln_count":124,"unpatched_count":14,"last_vuln_date":125,"fetched_at":60},"contact-form-7-dynamic-text-extension","Contact Form 7 – Dynamic Text Extension","5.0.5","sevenspark","https:\u002F\u002Fprofiles.wordpress.org\u002Fsevenspark\u002F","\u003Cp>Contact Form 7 is an excellent WordPress plugin and one of the top choices of free WordPress plugins for contact forms. Contact Form 7 – Dynamic Text Extension (DTX) makes it even more awesome by adding dynamic content capabilities. While default values in Contact Form 7 are static, DTX lets you create pre-populated fields pulled from other locations. Some examples might include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Auto-filling a URL or just getting the domain name or path\u003C\u002Fli>\n\u003Cli>Auto-filling a post ID, title, or slug\u003C\u002Fli>\n\u003Cli>Auto-filling a title, URL, or slug for the current page\u003C\u002Fli>\n\u003Cli>Pre-populating a product number\u003C\u002Fli>\n\u003Cli>Referencing other content on the site\u003C\u002Fli>\n\u003Cli>Populating with post or page info\u003C\u002Fli>\n\u003Cli>Populating with the current user’s info\u003C\u002Fli>\n\u003Cli>Populating with custom and meta fields\u003C\u002Fli>\n\u003Cli>Generating unique identifiers for support tickets\u003C\u002Fli>\n\u003Cli>Getting a list of post categories or other custom taxonomies\u003C\u002Fli>\n\u003Cli>Getting a value from a cookie\u003C\u002Fli>\n\u003Cli>Getting custom theme modifications\u003C\u002Fli>\n\u003Cli>Any value using custom shortcodes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The possibilities are endless!\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7-dynamic-text-extension\u002F?preview=1\" rel=\"ugc\">View Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>For over 10 years, DTX only handled \u003Ccode>\u003Cinput type=\"text\" \u002F>\u003C\u002Fcode> and \u003Ccode>\u003Cinput type=\"hidden\" \u002F>\u003C\u002Fcode> form fields, but version 4 finally introduces more:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>email\u003C\u002Fli>\n\u003Cli>URL\u003C\u002Fli>\n\u003Cli>tel (for phone numbers)\u003C\u002Fli>\n\u003Cli>number\u003C\u002Fli>\n\u003Cli>range (slider)\u003C\u002Fli>\n\u003Cli>textarea (multiline text)\u003C\u002Fli>\n\u003Cli>drop-down menu (select field)\u003C\u002Fli>\n\u003Cli>checkboxes\u003C\u002Fli>\n\u003Cli>radio buttons\u003C\u002Fli>\n\u003Cli>date\u003C\u002Fli>\n\u003Cli>submit (yes, a submit button where you can have dynamic text!)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>WHAT DOES IT DO?\u003C\u002Fh3>\n\u003Cp>DTX provides flexibility to WordPress users in creating dynamic forms in Contact Form 7. DTX comes with several built-in shortcodes that will allow the contact form to be populated from HTTPS GET variable or any info from the \u003Ccode>get_bloginfo()\u003C\u002Fcode> function, among others. See below for included shortcodes.\u003C\u002Fp>\n\u003Cp>Don’t see the shortcode you need on the list? You can write a \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fcustom-shortcodes\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">custom one\u003C\u002Fa>! Any shortcode that returns a string or numeric value can be used here. The included shortcodes just cover the most common scenarios, but DTX provides the flexibility for you to grab any value you have access to programmatically.\u003C\u002Fp>\n\u003Ch4>Dynamic Value\u003C\u002Fh4>\n\u003Cp>The bread and butter of this plugin, set a dynamic value! This field can take any shortcode, with two important provisions:\u003C\u002Fp>\n\u003Col>\n\u003Cli>The shortcode should NOT include the normal square brackets (\u003Ccode>[\u003C\u002Fcode> and \u003Ccode>]\u003C\u002Fcode>). So, instead of \u003Ccode>[CF7_GET key='value']\u003C\u002Fcode> you would use \u003Ccode>CF7_GET key='value'\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Any parameters in the shortcode must use single quotes. That is: \u003Ccode>CF7_GET key='value'\u003C\u002Fcode> and not \u003Ccode>CF7_GET key=\"value\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Dynamic Placeholder\u003C\u002Fh4>\n\u003Cp>Set a dynamic placeholder with this attribute! This feature accepts static text or a shortcode. If using a shortcode, the same syntax applies from the dynamic value field. However, this field also has a few more needs:\u003C\u002Fp>\n\u003Col>\n\u003Cli>The text\u002Fshortcode must first have apostrophes converted to it’s HTML entity code, \u003Ccode>&#39;\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>After that, it must be URL encoded so that spaces become \u003Ccode>%20\u003C\u002Fcode> and other non-alphanumeric characters are converted.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>If you’re using Contact Form 7’s tag generator to create the form tag, those extra needs are already taken care of. Dynamic placeholders are not available for dynamic hidden form tags.\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-attribute-placeholder\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Compatible with Caching Plugins\u003C\u002Fh4>\n\u003Cp>DTX is cache friendly! You can set a field to be calculated after the page loads by setting the \u003Ccode>dtx_pageload\u003C\u002Fcode> attribute to any dynamic form tag.\u003C\u002Fp>\n\u003Cp>Many websites use caching plugins to optimize for performance. If your website caches the HTML of the form, then any dynamic form fields you have get their first calculated value cached alongside it. This becomes an issue if you’re using DTX to pull values from a cookie or the current URL’s query string.\u003C\u002Fp>\n\u003Cp>This is best for dynamic form fields that:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>gets the current URL\u003C\u002Fli>\n\u003Cli>gets a value from the URL query\u003C\u002Fli>\n\u003Cli>gets a value from a cookie\u003C\u002Fli>\n\u003Cli>gets the current user’s info\u003C\u002Fli>\n\u003Cli>generates a unique identifier (GUID)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For dynamic fields that are page-specific, it’s perfectly safe to cache those values. For example, dynamic form fields that:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>getting the page or post’s ID, title, or slug\u003C\u002Fli>\n\u003Cli>getting post meta for the current page\u003C\u002Fli>\n\u003Cli>getting the post’s assigned categories, tags, or other custom taxonomy\u003C\u002Fli>\n\u003Cli>getting site info\u003C\u002Fli>\n\u003Cli>getting theme modification values\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>Note: Enabling a dynamic field to be calculated after the page loads will add frontend JavaScript. Depending on the shortcode used as the dynamic value, an AJAX call to the server may be sent to be processed. The script is minified and loaded in the footer and is deferred, minimizing impact on site performance and the AJAX calls are called asynchronously to avoid being a render-blocking resource and minimizing main-thread work. The script itself can be safely cached too.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fform-tag-attribute-after-page-load\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Read Only Form Fields\u003C\u002Fh4>\n\u003Cp>Check this box if you do not want to let users edit this field. It will add the \u003Ccode>readonly\u003C\u002Fcode> attribute to the input form field. This feature is not available for dynamic hidden form tags.\u003C\u002Fp>\n\u003Ch4>Obfuscate Values for Enhanced Privacy\u003C\u002Fh4>\n\u003Cp>If you’re pre-filling a form field with an email address, bots can scrape that value from the page and use it for spam. You can add an additional layer of protecting by obfuscating the value, which turns each character into it’s ASCII code. To the human eye, it looks like the character it’s supposed to be because browsers will render the ASCII code, but for bots, it won’t look like an email address!\u003C\u002Fp>\n\u003Ch3>HOW TO USE IT\u003C\u002Fh3>\n\u003Cp>After installing and activating the plugin, you will have 2 new tag types to select from when creating or editing a Contact Form 7 form: the dynamic text field and dynamic hidden field. Most of the options in their tag generators will be familiar to Contact Form 7 users but there have been some upgrades.\u003C\u002Fp>\n\u003Ch4>How to Obfuscate Values\u003C\u002Fh4>\n\u003Cp>All of the shortcodes included with the DTX plugin allow the \u003Ccode>obfuscate\u003C\u002Fcode> attribute that you can set to any truthy value to provide an additional layer of security for sensitive data.\u003C\u002Fp>\n\u003Cp>The Contact Form 7 tag with obfuscation turned on would look like this: \u003Ccode>[dynamictext user_email \"CF7_get_current_user key='user_email' obfuscate='on'\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>How to Enable Cache-Friendly Mode\u003C\u002Fh4>\n\u003Cp>All of the dynamic form tags can be enabled for processing on the frontend of the website, or the client-side, by adding the \u003Ccode>dtx_pageload\u003C\u002Fcode> attribute to the Contact Form 7 form tag.\u003C\u002Fp>\n\u003Cp>In the form editor of Contact Form 7, your form tag would look like: \u003Ccode>[dynamictext current_url dtx_pageload \"CF7_URL\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>If using the tag generator, it’s as simple as checking a box!\u003C\u002Fp>\n\u003Ch3>INCLUDED SHORTCODES\u003C\u002Fh3>\n\u003Cp>The plugin includes several shortcodes for use with the Dynamic Text Extension right out of the box. You can write your own as well—any self-closing shortcode will work, even with attributes!\u003C\u002Fp>\n\u003Ch4>Current URL or Part\u003C\u002Fh4>\n\u003Cp>Retrieve the current URL: \u003Ccode>CF7_URL\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>In the form editor of Contact Form 7, your form tag would look like: \u003Ccode>[dynamictext dynamicname \"CF7_URL\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Optional parameter: \u003Ccode>part\u003C\u002Fcode>, which will return a parsed part of the URL.  Valid values are \u003Ccode>host\u003C\u002Fcode>, \u003Ccode>query\u003C\u002Fcode>, and \u003Ccode>path\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Host: Just the domain name and tld\u003Cbr \u002F>\n    [dynamictext host “CF7_URL part=’host'”]\u003C\u002Fp>\n\u003Cp>Query: The query string after the ?, if one exists\u003Cbr \u002F>\n    [dynamictext query “CF7_URL part=’query'”]\u003C\u002Fp>\n\u003Cp>Path: The URL path, for example, \u002Fcontact, if one exists\u003Cbr \u002F>\n    [dynamictext path “CF7_URL part=’path'”]\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-current-url\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Referrer URL\u003C\u002Fh4>\n\u003Cp>Get the referral URL, if it exists. Note that this is not necessarily reliable as not all browsers send this data.\u003C\u002Fp>\n\u003Cp>CF7 Tag: \u003Ccode>[dynamictext dynamicname \"CF7_referrer\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-referrer-url\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Current Page Variables\u003C\u002Fh4>\n\u003Cp>Retrieve information about the current page that the contact form is displayed on. Works great for use in templated areas like the site header, footer, widget, or sidebar! The shortcode works as follows:\u003C\u002Fp>\n\u003Cp>Built-in shortcode: \u003Ccode>CF7_get_current_var\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Required attribute: \u003Ccode>key\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Possible values for \u003Ccode>key\u003C\u002Fcode> include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>url\u003C\u002Fcode> (an alias for \u003Ccode>CF7_URL\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>slug\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>featured_image\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>terms\u003C\u002Fcode> (an alias for \u003Ccode>CF7_get_taxonomy\u003C\u002Fcode>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For pages that use a \u003Ccode>WP_POST\u003C\u002Fcode> object, this acts as an alias for \u003Ccode>CF7_get_post_var\u003C\u002Fcode> so those attributes work here as well.\u003C\u002Fp>\n\u003Cp>For author pages, this acts as an alias for \u003Ccode>CF7_get_current_user\u003C\u002Fcode> so those attributes work here as well.\u003C\u002Fp>\n\u003Cp>In the form editor of Contact Form 7, your form tag’s value could look like: \u003Ccode>CF7_get_current_var key='title'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>And then the full form tag would be: \u003Ccode>[dynamictext dynamicname \"CF7_get_current_var key='title'\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-current-variables\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Post\u002FPage Info\u003C\u002Fh4>\n\u003Cp>Retrieve information about the current post or page (must be for a WP_POST object) that the contact form is displayed on. The shortcode works as follows:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>CF7_get_post_var key='title'      \u003C-- retrieves the Post's Title\nCF7_get_post_var key='slug'       \u003C-- retrieves the Post's Slug\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can also retrieve any parameter from the global \u003Ccode>$post\u003C\u002Fcode> object. Just set that as the \u003Ccode>key\u003C\u002Fcode> value, for example \u003Ccode>post_date\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>The Contact Form 7 Tag would look like: \u003Ccode>[dynamictext dynamicname \"CF7_get_post_var key='title'\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Need to pull data from a \u003Cem>different\u003C\u002Fem> post\u002Fpage? Not a problem! Just specify it’s post ID like this:\u003C\u002Fp>\n\u003Cp>Dynamic value: \u003Ccode>CF7_get_post_var key='title' post_id='245'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Contact Form 7 Tag: \u003Ccode>[dynamictext dynamicname \"CF7_get_post_var key='title' post_id='245'\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-post-page-variables\u002F\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Post Meta & Custom Fields\u003C\u002Fh4>\n\u003Cp>Retrieve custom fields from the current post\u002Fpage. Just set the custom field as the key in the shortcode.\u003C\u002Fp>\n\u003Cp>Note: You must add any meta keys that you want to allow access to to the allow list in your admin panel > Contact > Dynamic Text Extension > Meta Key Allow List.  \u003Ca href=\"https:\u002F\u002Fsevenspark.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fallow-data-access\" rel=\"nofollow ugc\">More Information\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>The dynamic value input becomes: \u003Ccode>CF7_get_custom_field key='my_custom_field'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>And the tag looks like this: \u003Ccode>[dynamictext dynamicname \"CF7_get_custom_field key='my_custom_field'\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>For the purposes of including an email address, you can obfuscate the custom field value by setting obfuscate=’on’ in the shortcode like this:\u003Cbr \u002F>\n    [dynamictext dynamicname “CF7_get_custom_field key=’my_custom_field’ obfuscate=’on'”]\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-post-meta-custom-fields\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Featured Images & Media Attachments\u003C\u002Fh4>\n\u003Cp>Retrieve the current post’s featured image, the featured image of a different page, or any attachment from the Media Library with this shortcode!\u003C\u002Fp>\n\u003Cp>The base shortcode is simply: \u003Ccode>CF7_get_attachment\u003C\u002Fcode> which returns the absolute URL of the current page’s featured image.\u003C\u002Fp>\n\u003Cp>By setting the \u003Ccode>post_id\u003C\u002Fcode> attribute to a post ID, you can get the featured image of another page.\u003C\u002Fp>\n\u003Cp>By setting the \u003Ccode>id\u003C\u002Fcode> attribute to an attachment ID, you can get the absolute URL of any image uploaded to your WordPress website.\u003C\u002Fp>\n\u003Cp>By setting the \u003Ccode>size\u003C\u002Fcode> attribute to any size registered on your website, you can get a specific image size.\u003C\u002Fp>\n\u003Cp>Want to return the attachment ID instead of the URL? Also not a problem! Just set \u003Ccode>return='id'\u003C\u002Fcode> in the shortcode.\u003C\u002Fp>\n\u003Cp>Most of the optional attributes can be used at the same time. For example, if I wanted to retrieve the attachment ID of a featured image for a different post, then the dynamic text form tag would look like this:\u003Cbr \u002F>\n    [dynamictext input_name “CF7_get_attachment post_id=’123′ return=’id'”]\u003C\u002Fp>\n\u003Cp>If I wanted to get a specific image at a specific size, I can use this:\u003Cbr \u002F>\n    [dynamictext input_name “CF7_get_attachment id=’123′ size=’thumbnail'”]\u003C\u002Fp>\n\u003Cp>The only two attributes that can’t play together is \u003Ccode>id\u003C\u002Fcode> and \u003Ccode>post_id\u003C\u002Fcode>. If both are specified, it will get the attachment specified by \u003Ccode>id\u003C\u002Fcode> and completely ignore the \u003Ccode>post_id\u003C\u002Fcode> attribute. If neither are specified, then it looks to the current featured image assigned to the global \u003Ccode>$post\u003C\u002Fcode> object.\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-media-attachment\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Current User Info & User Meta\u003C\u002Fh4>\n\u003Cp>Get data about the current logged-in user.\u003C\u002Fp>\n\u003Cp>Dynamic value: \u003Ccode>CF7_get_current_user key='user_displayname'\u003C\u002Fcode>\u003Cbr \u002F>\nCF7 Tag: \u003Ccode>[dynamictext dynamicname \"CF7_get_current_user\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Note: You must add any user keys that you want to allow access to to the allow list in your admin panel > Contact > Dynamic Text Extension > User Data Key Allow List.  \u003Ca href=\"https:\u002F\u002Fsevenspark.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fallow-data-access\" rel=\"nofollow ugc\">More Information\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Valid values for \u003Ccode>key\u003C\u002Fcode> include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>ID\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>user_login\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>display_name\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>user_email\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>user_firstname\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>user_lastname\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>user_description\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>But also custom meta user keys!\u003C\u002Fp>\n\u003Cp>For the purposes of including an email address, you can obfuscate the value by setting obfuscate=’on’ in the shortcode like this:\u003Cbr \u002F>\n    [dynamictext dynamicname “CF7_get_current_user key=’user_email’ obfuscate=’on'”]\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-current-user-user-meta\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Site\u002FBlog Info\u003C\u002Fh4>\n\u003Cp>Want to grab some information from your blog like the URL or the site name? Use the \u003Ccode>CF7_bloginfo\u003C\u002Fcode> shortcode. For example, to get the site’s URL:\u003C\u002Fp>\n\u003Cp>Enter the following into the “Dynamic Value” input: \u003Ccode>CF7_bloginfo show='url'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Your Content Form 7 Tag will look something like this: \u003Ccode>[dynamictext dynamicname \"CF7_bloginfo show='url'\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Your form’s dynamicname text input will then be pre-populated with your site’s URL\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-site-blog-information\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Theme Options\u003C\u002Fh4>\n\u003Cp>Want to retrieve values from your active theme’s Customizer? Now you can with the \u003Ccode>CF7_get_theme_option\u003C\u002Fcode> shortcode.\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-theme-option\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>HTTP GET Variables\u003C\u002Fh4>\n\u003Cp>Want to use a variable from the PHP \u003Ccode>$_GET\u003C\u002Fcode> array? Just use the \u003Ccode>CF7_GET\u003C\u002Fcode> shortcode. For example, if you want to get the foo parameter from the url\u003Cbr \u002F>\n    http:\u002F\u002Fmysite.com?foo=bar\u003C\u002Fp>\n\u003Cp>Enter the following into the “Dynamic Value” input: \u003Ccode>CF7_GET key='foo'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Your Content Form 7 Tag will look something like this: \u003Ccode>[dynamictext dynamicname \"CF7_GET key='foo'\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Your form’s dynamicname text input will then be pre-populated with the value of \u003Ccode>foo\u003C\u002Fcode>, in this case, \u003Ccode>bar\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-php-get-variables\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>HTTP POST Variables\u003C\u002Fh4>\n\u003Cp>Grab variables from the PHP \u003Ccode>$_POST\u003C\u002Fcode> array. The shortcode is much like the GET shortcode:\u003C\u002Fp>\n\u003Cp>Dynamic value: \u003Ccode>CF7_POST key='foo'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Your Content Form 7 Tag will look something like this: \u003Ccode>[dynamictext dynamicname \"CF7_POST key='foo'\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-php-post-variables\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Cookie Values\u003C\u002Fh4>\n\u003Cp>If your WordPress website uses cookies, you might want to pull the value of a specific cookie into a form. You can do that with the \u003Ccode>CF7_get_cookie\u003C\u002Fcode> shortcode. It only needs a \u003Ccode>key\u003C\u002Fcode> attribute.\u003C\u002Fp>\n\u003Cp>Dynamic value: \u003Ccode>CF7_get_cookie key='foo'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Your Content Form 7 Tag will look something like this: \u003Ccode>[dynamictext dynamicname \"CF7_get_cookie key='foo'\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-cookie\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>GUID\u003C\u002Fh4>\n\u003Cp>Generate a globally unique identifier (GUID) in a form field. This is a great utility shortcode for forms that need unique identifiers for support tickets, receipts, reference numbers, etc., without having to expose personally identifiable information (PII). This shortcode takes no parameters: \u003Ccode>CF7_guid\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>In the form editor of Contact Form 7, your form tag would look like: \u003Ccode>[dynamictext dynamicname \"CF7_guid\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Learn more and see examples from \u003Ca href=\"https:\u002F\u002Faurisecreative.com\u002Fdocs\u002Fcontact-form-7-dynamic-text-extension\u002Fshortcodes\u002Fdtx-shortcode-guid\u002F?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme\" rel=\"nofollow ugc\">the DTX Knowledge base\u003C\u002Fa>.\u003C\u002Fp>\n","Extends Contact Form 7 by adding dynamic form fields that accepts shortcodes to prepopulate form fields with default values and dynamic placeholders.",1920883,94,"2026-02-17T14:33:00.000Z",[117,55,118,119,120],"autofill","dynamic-form","form-field","prepopulate","https:\u002F\u002Faurisecreative.com\u002Fproducts\u002Fwordpress-plugin\u002Fcontact-form-7-dynamic-text-extension\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontact-form-7-dynamic-text-extension.5.0.5.zip",74,6,"2025-09-26 00:00:00",{"slug":127,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":134,"downloaded":135,"rating":136,"num_ratings":137,"last_updated":138,"tested_up_to":93,"requires_at_least":139,"requires_php":52,"tags":140,"homepage":18,"download_link":145,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":60},"country-phone-field-contact-form-7","Country & Phone Field Contact Form 7","2.6.5","Narinder Singh","https:\u002F\u002Fprofiles.wordpress.org\u002Fnarinderbisht\u002F","\u003Cp>Country & Phone Field Contact Form 7 plugin is \u003Cstrong>an add-on for Contact Form 7\u003C\u002Fstrong> plugin. This plugin \u003Cstrong>add two new form tag fields\u003C\u002Fstrong> that is \u003Cstrong>Country list\u003C\u002Fstrong> (form-tag: country drop-down) and \u003Cstrong>Country Phone extensions list\u003C\u002Fstrong> (form-tag: phone number) in Contact form 7.\u003C\u002Fp>\n\u003Cp>Country & Phone Field Contact Form 7 helps you in creating a country drop-down list with country flags. The tag field will automatically add countries name in standard drop-down field of contact form 7.\u003C\u002Fp>\n\u003Cp>How to add the fields in the contact form 7\u003Cbr \u002F>\n1.) Once you have installed activated the Country & Phone Field Contact Form 7 plugin.\u003Cbr \u002F>\n2.) Add the form-tag  “country drop-down” and  “phone number”  to your form and save the changes.\u003C\u002Fp>\n\u003Cp>Requirments:\u003Cbr \u002F>\n* Contact form 7 must be active plugin.\u003C\u002Fp>\n\u003Ch4>Recommended Plugins\u003C\u002Fh4>\n\u003Cp>The following plugin is recommended for Country & Phone Field Contact Form 7 users:\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"ugc\">Contact form 7\u003C\u002Fa> by takayukister – With Conact form 7, you can use this plugin. Without contact form 7 this plugin have no needs.\u003C\u002Fp>\n","Add country drop down with flags and phone number with country phone extension fields in contact form 7.",40000,430074,88,42,"2026-03-04T13:10:00.000Z","6.0",[55,141,142,143,144],"country-phone-field","country-dropdown-plugin","international-telephone-input","wordpress-plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcountry-phone-field-contact-form-7.2.6.4.zip",{"attackSurface":147,"codeSignals":216,"taintFlows":246,"riskAssessment":266,"analyzedAt":279},{"hooks":148,"ajaxHandlers":191,"restRoutes":192,"shortcodes":193,"cronEvents":215,"entryPointCount":124,"unprotectedCount":28},[149,155,159,163,167,171,176,179,183,187],{"type":150,"name":151,"callback":152,"file":153,"line":154},"action","admin_menu","courier_address_add_admin_menu","courier-address.php",24,{"type":150,"name":156,"callback":157,"file":153,"line":158},"admin_init","courier_address_settings_init",25,{"type":150,"name":160,"callback":161,"file":153,"line":162},"wp_enqueue_scripts","courier_address_load_scripts",275,{"type":150,"name":164,"callback":165,"file":153,"line":166},"admin_enqueue_scripts","courier_address_load_wp_admin_style",280,{"type":150,"name":168,"callback":169,"priority":35,"file":153,"line":170},"init","courier_address_init",286,{"type":172,"name":173,"callback":174,"priority":11,"file":153,"line":175},"filter","wpcf7_validate_courier_address","courier_address_validation_filter",314,{"type":172,"name":177,"callback":174,"priority":11,"file":153,"line":178},"wpcf7_validate_courier_address*",315,{"type":150,"name":180,"callback":181,"priority":35,"file":153,"line":182},"plugins_loaded","courier_address_plugins_loaded",317,{"type":172,"name":184,"callback":185,"file":153,"line":186},"wpcf7_form_elements","courier_address_form_elements",323,{"type":150,"name":188,"callback":189,"priority":11,"file":153,"line":190},"wpcf7_mail_sent","courier_address_wpcf7_mail_sent",642,[],[],[194,198,201,205,208,212],{"tag":195,"callback":196,"file":153,"line":197},"courier_address","courier_address_shortcode_handler",306,{"tag":199,"callback":196,"file":153,"line":200},"courier_address*",307,{"tag":202,"callback":203,"file":153,"line":204},"courier_distance","courier_address_distance_shortcode_handler",308,{"tag":206,"callback":203,"file":153,"line":207},"courier_distance*",309,{"tag":209,"callback":210,"file":153,"line":211},"courier_result","courier_address_result_shortcode_handler",310,{"tag":213,"callback":210,"file":153,"line":214},"courier_result*",311,[],{"dangerousFunctions":217,"sqlUsage":218,"outputEscaping":220,"fileOperations":14,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":245},[],{"prepared":28,"raw":28,"locations":219},[],{"escaped":221,"rawEcho":222,"locations":223},2,11,[224,227,228,230,231,233,235,237,239,241,243],{"file":153,"line":225,"context":226},154,"raw output",{"file":153,"line":225,"context":226},{"file":153,"line":229,"context":226},155,{"file":153,"line":229,"context":226},{"file":153,"line":232,"context":226},172,{"file":153,"line":234,"context":226},182,{"file":153,"line":236,"context":226},207,{"file":153,"line":238,"context":226},217,{"file":153,"line":240,"context":226},227,{"file":153,"line":242,"context":226},237,{"file":153,"line":244,"context":226},251,[],[247],{"entryPoint":248,"graph":249,"unsanitizedCount":14,"severity":265},"\u003Ccourier-address> (courier-address.php:0)",{"nodes":250,"edges":262},[251,256],{"id":252,"type":253,"label":254,"file":153,"line":255},"n0","source","$_POST",567,{"id":257,"type":258,"label":259,"file":153,"line":260,"wp_function":261},"n1","sink","file_get_contents() [SSRF\u002FLFI]",624,"file_get_contents",[263],{"from":252,"to":257,"sanitized":264},false,"medium",{"summary":267,"deductions":268},"The 'courier-address' plugin version 3.2 presents a mixed security posture. On the positive side, it demonstrates good practices by avoiding dangerous functions, using prepared statements for all SQL queries, and having no known historical CVEs, which suggests a generally well-maintained codebase.  The absence of external HTTP requests and bundled libraries further reduces potential attack vectors. However, significant concerns arise from the static analysis. A notable weakness is the lack of proper output escaping, with only 15% of identified outputs being correctly escaped. This could lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is not sufficiently sanitized before being displayed to other users. Additionally, while the plugin has no unprotected entry points directly exposed by AJAX handlers or REST API routes, the presence of six shortcodes and a flow with unsanitized paths in the taint analysis warrants attention, as these could still be vectors for manipulation if not handled with care.",[269,272,274,277],{"reason":270,"points":271},"Low output escaping percentage",12,{"reason":273,"points":11},"Unsanitized path in taint flow",{"reason":275,"points":276},"No nonce checks on entry points",7,{"reason":278,"points":276},"No capability checks on entry points","2026-04-16T11:52:46.270Z",{"wat":281,"direct":290},{"assetPaths":282,"generatorPatterns":285,"scriptPaths":286,"versionParams":287},[283,284],"\u002Fwp-content\u002Fplugins\u002Fcourier-address\u002Fcss\u002Fcourier-address.css","\u002Fwp-content\u002Fplugins\u002Fcourier-address\u002Fjs\u002Fcourier-address.js",[],[284],[288,289],"courier-address\u002Fcss\u002Fcourier-address.css?ver=","courier-address\u002Fjs\u002Fcourier-address.js?ver=",{"cssClasses":291,"htmlComments":294,"htmlAttributes":295,"restEndpoints":297,"jsGlobals":298,"shortcodeOutput":299},[292,293],"courier_address_postcode_group","courier_address_postcode_group_price",[],[296],"courier_address_plugin_page",[],[],[300,301,302],"[courier_address","[courier_distance","[courier_result",{"error":304,"url":305,"statusCode":306,"statusMessage":307,"message":307},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fcourier-address\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":309,"versions":310},5,[311,316,323,330,337],{"version":6,"download_url":26,"svn_tag_url":312,"released_at":29,"has_diff":264,"diff_files_changed":313,"diff_lines":29,"trac_diff_url":314,"vulnerabilities":315,"is_current":304},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fcourier-address\u002Ftags\u002F3.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fcourier-address%2Ftags%2F3.1&new_path=%2Fcourier-address%2Ftags%2F3.2",[],{"version":317,"download_url":318,"svn_tag_url":319,"released_at":29,"has_diff":264,"diff_files_changed":320,"diff_lines":29,"trac_diff_url":321,"vulnerabilities":322,"is_current":264},"3.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcourier-address.3.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fcourier-address\u002Ftags\u002F3.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fcourier-address%2Ftags%2F3.0&new_path=%2Fcourier-address%2Ftags%2F3.1",[],{"version":324,"download_url":325,"svn_tag_url":326,"released_at":29,"has_diff":264,"diff_files_changed":327,"diff_lines":29,"trac_diff_url":328,"vulnerabilities":329,"is_current":264},"3.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcourier-address.3.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fcourier-address\u002Ftags\u002F3.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fcourier-address%2Ftags%2F2.0&new_path=%2Fcourier-address%2Ftags%2F3.0",[],{"version":331,"download_url":332,"svn_tag_url":333,"released_at":29,"has_diff":264,"diff_files_changed":334,"diff_lines":29,"trac_diff_url":335,"vulnerabilities":336,"is_current":264},"2.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcourier-address.2.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fcourier-address\u002Ftags\u002F2.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fcourier-address%2Ftags%2F1.0&new_path=%2Fcourier-address%2Ftags%2F2.0",[],{"version":338,"download_url":339,"svn_tag_url":340,"released_at":29,"has_diff":264,"diff_files_changed":341,"diff_lines":29,"trac_diff_url":29,"vulnerabilities":342,"is_current":264},"1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcourier-address.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fcourier-address\u002Ftags\u002F1.0\u002F",[],[]]