=== Contact Form 7 Dynamic Text Extension === Contributors: sevenspark Donate link: http://bit.ly/bVogDN Tags: Contact Form 7, Contact, Contact Form, dynamic, text, input, GET, POST, title, slug Requires at least: 4.0 Tested up to: 4.4.1 Stable tag: 2.0.1 This plugin provides 2 new tag types for the Contact Form 7 Plugin. It allows the dynamic generation of content for a text input box via any shortcode. It also offers dynamic hidden field functionality, which can be utilized to dynamically set the Email Recipient (To:) address. == Description == Contact Form 7 is an excellent WordPress plugin, and the CF7 DTX Plugin makes it even more awesome by adding dynamic content capabilities. While default values in Contact Form 7 are static. CF7 DTX lets you create pre-populated fields based on other values. Some examples might include: * Auto-filling a URL * Auto-filling a Post ID, title, or slug * Pre-populating a Product Number * Referencing other content on the site * Populating with post info * Populating with user info * Populating with custom fields * Any value you can write a shortcode for There are many more case-specific examples. I searched for a solution, and there are some decent hacks out there. Many of them are explored in this forum topic: [Contact Form 7 Input Fields Values as PHP Get-Viarables](http://wordpress.org/support/topic/contact-form-7-input-fields-values-as-php-get-viarables). However, they all involved hacking the current Contact Form 7 code, which means next time the plugin is updated their edits will be overwritten. That's bad. This Dynamic Text Extension plugin provides a more elegant solution that leaves the Contact Form 7 Plugin intact. = WHAT DOES IT DO? = This plugin provides a new tag type for the Contact Form 7 Plugin. It allows the dynamic generation of content for a text input box via any shortcode. For example, it comes with several built-in shortcodes that will allow the Contact Form to be populated from any $_GET PHP variable or any info from the get_bloginfo() function, among others. See below for included shortcodes. = HOW TO USE IT = After installing and activating the plugin, the Contact Form 7 tag generator will have 2 new tag types: Dynamic Text Field and Dynamic Hidden Field. Most of the options will be familiar to Contact Form 7 users. There are two important fields: **Dynamic Value** This field takes a shortcode, with two important provisions: 1. The shortcode should NOT include the normal square brackets ([ and ]). So, instead of [CF7_GET key='value'] you would use CF7_GET key='value' . 2. Any parameters in the shortcode must use single quotes. That is: CF7_GET key='value' and not CF7_GET key="value" **Uneditable Option** As these types of fields should often remain uneditable by the user, there is a checkbox to turn this option on (Not applicable for hidden fields). = INCLUDED SHORTCODES = The plugin includes 2 basic shortcodes for use with the Dynamic Text extension. You can write your own as well - any shortcode will work **PHP GET Variables** Want to use a variable from the PHP GET array? Just use the CF7_GET shortcode. For example, if you want to get the foo parameter from the url http://mysite.com?foo=bar Enter the following into the "Dynamic Value" input CF7_GET key='foo' Your Content Form 7 Tag will look something like this: [dynamictext dynamicname "CF7_GET key='foo'"] Your form's dynamicname text input will then be pre-populated with the value of foo, in this case, bar **PHP POST Variables** New in version 1.0.3! Grab variables from the $_POST array. The shortcode is much like the GET shortcode: CF7_POST key='foo' Your Content Form 7 Tag will look something like this: [dynamictext dynamicname "CF7_POST key='foo'"] **Blog Info** Want to grab some information from your blog like the URL or the sitename? Use the CF7_bloginfo shortcode. For example, to get the site's URL: Enter the following into the "Dynamic Value" input CF7_bloginfo show='url' Your Content Form 7 Tag will look something like this: [dynamictext dynamicname "CF7_bloginfo show='url'"] Your form's dynamicname text input will then be pre-populated with your site's URL **Post Info** New in version 1.0.3! Retrieve information about the current post/page (that the contact form is displayed on). The shortcode works as follows: CF7_get_post_var key='title' <-- retrieves the Post's Title CF7_get_post_var key='slug' <-- retrieves the Post's Slug You can also retrieve any parameter from the $post object. Just set that as the key value, for example 'post_date' The Contact Form 7 Tag would look like: [dynamictext dynamicname "CF7_get_post_var key='title'"] **Current URL** New in version 1.0.3! Retrieve the current URL. The shortcode takes no parameters: CF7_URL So your Contact Form 7 Tag would look like: [dynamictext dynamicname "CF7_URL"] **Custom Fields** New in version 1.0.4! Retrieve custom fields from the current post/page. Just set the custom field as the key in the shortcode. The dynamic value input becomes: CF7_get_custom_field key='my_custom_field' And the tag looks like this: [dynamictext dynamicname "CF7_get_custom_field key='my_custom_field'"] For the purposes of including an email address, you can obfuscate the custom field value by setting obfuscate='on' in the shortcode. **Current User Info** Get data about the current user - assuming they are logged in. Defaults to user name, but you can set the key to any valid value in http://codex.wordpress.org/Function_Reference/get_currentuserinfo CF7_get_current_user [dynamictext dynamicname "CF7_get_current_user"] **Referrer URL** Get the referral URL, if it exists. Note that this is not necessarily reliable as not all browsers send this data. [dynamictext dynamicname "CF7_referrer"] Like the Dynamic Text Extension? Please consider supporting its development by [Donating](http://bit.ly/bVogDN). Or check out my upcoming premium plugin, [UberMenu - WordPress Mega Menu Plugin](http://wpmegamenu.com) == Installation == This section describes how to install the plugin and get it working. 1. Download and install the Contact Form 7 Plugin located at http://wordpress.org/extend/plugins/contact-form-7/ 1. Upload the plugin folder to the '/wp-content/plugins/' directory 1. Activate the plugin through the 'Plugins' menu in WordPress 1. You will now have a "Dynamic Text" tag option in the Contact Form 7 tag generator == Frequently Asked Questions == None. Yet. == Screenshots == 1. The new Dynamic Text Field options. == Changelog == = 2.0.1 = * Hook change to guarantee the plugin only runs when Contact Form 7 is present in the admin (avoids errors if Contact Form 7 is disabled, or if there is a plugin sequencing issue) = 2.0 = * Complete rewrite for Compatibility with Contact Form 7 v4 = 1.2 = * Compatibility update for Contact Form 7 v3.9 = 1.1.0.2 = * Updated to work with Contact Form 7 v3.7.x = 1.1.0.1 = * Removed undefined variable warning = 1.1 = * Updated for compatibility with Contact Form 7 v3.6 * Added Referrer shortcode = 1.0.4.2 = * Fixed a bug that created repeating square brackets around dynamic text values in cases where the form doesn't validate and JavaScript is deactivated. = 1.0.4.1 = * Removed trailing whitespace to fix "Headers already sent" errors = 1.0.4 = * Added Current User Info shortcode * Added Post Custom Field shortcode (with obfuscation support) * Added Hidden Field capability = 1.0.3 = * Added $_POST shortcode * Added current post/page variable shortcode * Added current URL shortcode = 1.0.2 = * Fixed administrative control panel dependency issue = 1.0.1 = * Fixed dependency issue. == Upgrade Notice == 2.0 complete rewrite for compatibility with latest Contact Form 7