Title: Contact Form 7 &#8211; Dynamic Text Extension
Author: sevenspark
Published: <strong>October 11, 2010</strong>
Last modified: June 5, 2026

---

Search plugins

![](https://ps.w.org/contact-form-7-dynamic-text-extension/assets/banner-772x250.
png?rev=3019574)

![](https://ps.w.org/contact-form-7-dynamic-text-extension/assets/icon-256x256.png?
rev=3019574)

# Contact Form 7 – Dynamic Text Extension

 By [sevenspark](https://profiles.wordpress.org/sevenspark/)

[Download](https://downloads.wordpress.org/plugin/contact-form-7-dynamic-text-extension.5.0.6.zip)

[Live Preview](https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/?preview=1)

 * [Details](https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/#description)
 * [Reviews](https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/#reviews)
 *  [Installation](https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/#installation)
 * [Development](https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/#developers)

 [Support](https://wordpress.org/support/plugin/contact-form-7-dynamic-text-extension/)

## Description

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:

 * Auto-filling a URL or just getting the domain name or path
 * Auto-filling a post ID, title, or slug
 * Auto-filling a title, URL, or slug for the current page
 * Pre-populating a product number
 * Referencing other content on the site
 * Populating with post or page info
 * Populating with the current user’s info
 * Populating with custom and meta fields
 * Generating unique identifiers for support tickets
 * Getting a list of post categories or other custom taxonomies
 * Getting a value from a cookie
 * Getting custom theme modifications
 * Any value using custom shortcodes

The possibilities are endless!

[View Demo](https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/?preview=1)

For over 10 years, DTX only handled `<input type="text" />` and `<input type="hidden"/
>` form fields, but version 4 finally introduces more:

 * email
 * URL
 * tel (for phone numbers)
 * number
 * range (slider)
 * textarea (multiline text)
 * drop-down menu (select field)
 * checkboxes
 * radio buttons
 * date
 * submit (yes, a submit button where you can have dynamic text!)

### WHAT DOES IT DO?

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 `get_bloginfo()` function,
among others. See below for included shortcodes.

Don’t see the shortcode you need on the list? You can write a [custom one](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/custom-shortcodes/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme)!
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.

#### Dynamic Value

The bread and butter of this plugin, set a dynamic value! This field can take any
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"`

#### Dynamic Placeholder

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:

 1. The text/shortcode must first have apostrophes converted to it’s HTML entity code,`&#
    39;`
 2. After that, it must be URL encoded so that spaces become `%20` and other non-alphanumeric
    characters are converted.

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.

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-attribute-placeholder/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Compatible with Caching Plugins

DTX is cache friendly! You can set a field to be calculated after the page loads
by setting the `dtx_pageload` attribute to any dynamic form tag.

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.

This is best for dynamic form fields that:

 * gets the current URL
 * gets a value from the URL query
 * gets a value from a cookie
 * gets the current user’s info
 * generates a unique identifier (GUID)

For dynamic fields that are page-specific, it’s perfectly safe to cache those values.
For example, dynamic form fields that:

 * getting the page or post’s ID, title, or slug
 * getting post meta for the current page
 * getting the post’s assigned categories, tags, or other custom taxonomy
 * getting site info
 * getting theme modification values

_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._

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/form-tag-attribute-after-page-load/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Read Only Form Fields

Check this box if you do not want to let users edit this field. It will add the `
readonly` attribute to the input form field. This feature is not available for dynamic
hidden form tags.

#### Obfuscate Values for Enhanced Privacy

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!

### HOW TO USE IT

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.

#### How to Obfuscate Values

All of the shortcodes included with the DTX plugin allow the `obfuscate` attribute
that you can set to any truthy value to provide an additional layer of security 
for sensitive data.

The Contact Form 7 tag with obfuscation turned on would look like this: `[dynamictext
user_email "CF7_get_current_user key='user_email' obfuscate='on'"]`

#### How to Enable Cache-Friendly Mode

All of the dynamic form tags can be enabled for processing on the frontend of the
website, or the client-side, by adding the `dtx_pageload` attribute to the Contact
Form 7 form tag.

In the form editor of Contact Form 7, your form tag would look like: `[dynamictext
current_url dtx_pageload "CF7_URL"]`

If using the tag generator, it’s as simple as checking a box!

### INCLUDED SHORTCODES

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!

#### Current URL or Part

Retrieve the current URL: `CF7_URL`

In the form editor of Contact Form 7, your form tag would look like: `[dynamictext
dynamicname "CF7_URL"]`

Optional parameter: `part`, which will return a parsed part of the URL. Valid values
are `host`, `query`, and `path`

Host: Just the domain name and tld
 [dynamictext host “CF7_URL part=’host’”]

Query: The query string after the ?, if one exists
 [dynamictext query “CF7_URL 
part=’query’”]

Path: The URL path, for example, /contact, if one exists
 [dynamictext path “CF7_URL
part=’path’”]

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-current-url/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Referrer URL

Get the referral URL, if it exists. Note that this is not necessarily reliable as
not all browsers send this data.

CF7 Tag: `[dynamictext dynamicname "CF7_referrer"]`

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-referrer-url/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Current Page Variables

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:

Built-in shortcode: `CF7_get_current_var`

Required attribute: `key`

Possible values for `key` include:

 * `id`
 * `title`
 * `url` (an alias for `CF7_URL`)
 * `slug`
 * `featured_image`
 * `terms` (an alias for `CF7_get_taxonomy`)

For pages that use a `WP_POST` object, this acts as an alias for `CF7_get_post_var`
so those attributes work here as well.

For author pages, this acts as an alias for `CF7_get_current_user` so those attributes
work here as well.

In the form editor of Contact Form 7, your form tag’s value could look like: `CF7_get_current_var
key='title'`

And then the full form tag would be: `[dynamictext dynamicname "CF7_get_current_var
key='title'"]`

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-current-variables/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Post/Page Info

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:

    ```
    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 global `$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'"]`

Need to pull data from a _different_ post/page? Not a problem! Just specify it’s
post ID like this:

Dynamic value: `CF7_get_post_var key='title' post_id='245'`

Contact Form 7 Tag: `[dynamictext dynamicname "CF7_get_post_var key='title' post_id
='245'"]`

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-post-page-variables//?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Post Meta & Custom Fields

Retrieve custom fields from the current post/page. Just set the custom field as 
the key in the shortcode.

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. [More Information](https://sevenspark.com/docs/contact-form-7-dynamic-text-extension/allow-data-access)

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 like this:
 [dynamictext dynamicname“
CF7_get_custom_field key=’my_custom_field’ obfuscate=’on’”]

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-post-meta-custom-fields/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Featured Images & Media Attachments

Retrieve the current post’s featured image, the featured image of a different page,
or any attachment from the Media Library with this shortcode!

The base shortcode is simply: `CF7_get_attachment` which returns the absolute URL
of the current page’s featured image.

By setting the `post_id` attribute to a post ID, you can get the featured image 
of another page.

By setting the `id` attribute to an attachment ID, you can get the absolute URL 
of any image uploaded to your WordPress website.

By setting the `size` attribute to any size registered on your website, you can 
get a specific image size.

Want to return the attachment ID instead of the URL? Also not a problem! Just set`
return='id'` in the shortcode.

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:
 [dynamictext input_name “CF7_get_attachment
post_id=’123′ return=’id’”]

If I wanted to get a specific image at a specific size, I can use this:
 [dynamictext
input_name “CF7_get_attachment id=’123′ size=’thumbnail’”]

The only two attributes that can’t play together is `id` and `post_id`. If both 
are specified, it will get the attachment specified by `id` and completely ignore
the `post_id` attribute. If neither are specified, then it looks to the current 
featured image assigned to the global `$post` object.

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-media-attachment/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Current User Info & User Meta

Get data about the current logged-in user.

Dynamic value: `CF7_get_current_user key='user_displayname'`
 CF7 Tag: `[dynamictext
dynamicname "CF7_get_current_user"]`

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.
[More Information](https://sevenspark.com/docs/contact-form-7-dynamic-text-extension/allow-data-access)

Valid values for `key` include:

 * `ID`
 * `user_login`
 * `display_name`
 * `user_email`
 * `user_firstname`
 * `user_lastname`
 * `user_description`

But also custom meta user keys!

For the purposes of including an email address, you can obfuscate the value by setting
obfuscate=’on’ in the shortcode like this:
 [dynamictext dynamicname “CF7_get_current_user
key=’user_email’ obfuscate=’on’”]

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-current-user-user-meta/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Site/Blog Info

Want to grab some information from your blog like the URL or the site name? 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

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-site-blog-information/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Theme Options

Want to retrieve values from your active theme’s Customizer? Now you can with the`
CF7_get_theme_option` shortcode.

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-theme-option/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### HTTP 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`

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-php-get-variables/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### HTTP POST Variables

Grab variables from the PHP `$_POST` array. The shortcode is much like the GET shortcode:

Dynamic value: `CF7_POST key='foo'`

Your Content Form 7 Tag will look something like this: `[dynamictext dynamicname"
CF7_POST key='foo'"]`

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-php-post-variables/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### Cookie Values

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 `CF7_get_cookie` shortcode. It only
needs a `key` attribute.

Dynamic value: `CF7_get_cookie key='foo'`

Your Content Form 7 Tag will look something like this: `[dynamictext dynamicname"
CF7_get_cookie key='foo'"]`

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-cookie/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

#### GUID

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: `CF7_guid`

In the form editor of Contact Form 7, your form tag would look like: `[dynamictext
dynamicname "CF7_guid"]`

Learn more and see examples from [the DTX Knowledge base](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/shortcodes/dtx-shortcode-guid/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

## Screenshots

[⌊Screenshot of the form tag buttons in the form editor of Contact Form 7. The dynamic
buttons appear in purple instead of blue to visually set them apart.⌉⌊Screenshot
of the form tag buttons in the form editor of Contact Form 7. The dynamic buttons
appear in purple instead of blue to visually set them apart.⌉[

Screenshot of the form tag buttons in the form editor of Contact Form 7. The dynamic
buttons appear in purple instead of blue to visually set them apart.

[⌊The form tag generator screen for the dynamic text form tag⌉⌊The form tag generator
screen for the dynamic text form tag⌉[

The form tag generator screen for the dynamic text form tag

[⌊The form tag generator screen for the dynamic hidden form tag⌉⌊The form tag generator
screen for the dynamic hidden form tag⌉[

The form tag generator screen for the dynamic hidden form tag

[⌊The form tag generator screen for the dynamic email form tag⌉⌊The form tag generator
screen for the dynamic email form tag⌉[

The form tag generator screen for the dynamic email form tag

[⌊The form tag generator screen for the dynamic URL form tag⌉⌊The form tag generator
screen for the dynamic URL form tag⌉[

The form tag generator screen for the dynamic URL form tag

[⌊The form tag generator screen for the dynamic phone number (tel) form tag⌉⌊The
form tag generator screen for the dynamic phone number (tel) form tag⌉[

The form tag generator screen for the dynamic phone number (tel) form tag

[⌊The form tag generator screen for the dynamic number spinbox form tag⌉⌊The form
tag generator screen for the dynamic number spinbox form tag⌉[

The form tag generator screen for the dynamic number spinbox form tag

[⌊The form tag generator screen for the dynamic sliding range form tag⌉⌊The form
tag generator screen for the dynamic sliding range form tag⌉[

The form tag generator screen for the dynamic sliding range form tag

[⌊The form tag generator screen for the dynamic textarea form tag⌉⌊The form tag 
generator screen for the dynamic textarea form tag⌉[

The form tag generator screen for the dynamic textarea form tag

[⌊The form tag generator screen for the dynamic drop-down menu (select) form tag⌉⌊
The form tag generator screen for the dynamic drop-down menu (select) form tag⌉[

The form tag generator screen for the dynamic drop-down menu (select) form tag

[⌊The form tag generator screen for the dynamic checkboxes form tag⌉⌊The form tag
generator screen for the dynamic checkboxes form tag⌉[

The form tag generator screen for the dynamic checkboxes form tag

[⌊The form tag generator screen for the dynamic radio buttons form tag⌉⌊The form
tag generator screen for the dynamic radio buttons form tag⌉[

The form tag generator screen for the dynamic radio buttons form tag

[⌊The form tag generator screen for the dynamic date form tag⌉⌊The form tag generator
screen for the dynamic date form tag⌉[

The form tag generator screen for the dynamic date form tag

[⌊The form tag generator screen for the dynamic submit form tag⌉⌊The form tag generator
screen for the dynamic submit form tag⌉[

The form tag generator screen for the dynamic submit form tag

## Installation

#### Minimum Requirements

To ensure your WordPress installation meets these requirements, you can login to
your WordPress website and navigate to _Tools > Site Health_ and click on the _Info_
tab. Expand the _WordPress_, _Active Plugins_, and _Server_ accordions and compare
that information with the details below.

 * WordPress version 5.5 or greater
 * PHP version 7.4 or greater
 * [Contact Form 7](https://wordpress.org/plugins/contact-form-7/) version 5.7 or
   greater

There are three (3) ways to install my plugin: automatically, upload, or manually.

#### Install Method 1: Automatic Installation

Automatic installation is the easiest option as WordPress handles the file transfers
itself and you don’t need to leave your web browser.

 1. Log in to your WordPress dashboard.
 2. Navigate to **Plugins > Add New**.
 3. Where it says “Keyword” in a dropdown, change it to “Author”
 4. In the search form, type “TessaWatkinsLLC” (results may begin populating as you
    type but my plugins will only show when the full name is there)
 5. Once you’ve found my plugin in the search results that appear, click the **Install
    Now** button and wait for the installation process to complete.
 6. Once the installation process is completed, click the **Activate** button to activate
    my plugin.

#### Install Method 2: Upload via WordPress Admin

This method involves is a little more involved. You don’t need to leave your web
browser, but you’ll need to download and then upload the files yourself.

 1. [Download my plugin](https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/)
    from WordPress.org; it will be in the form of a zip file.
 2. Log in to your WordPress dashboard.
 3. Navigate to **Plugins > Add New**.
 4. Click the **Upload Plugin** button at the top of the screen.
 5. Select the zip file from your local file system that was downloaded in step 1.
 6. Click the **Install Now** button and wait for the installation process to complete.
 7. Once the installation process is completed, click the **Activate** button to activate
    my plugin.

#### Install Method 3: Manual Installation

This method is the most involved as it requires you to be familiar with the process
of transferring files using an SFTP client.

 1. [Download my plugin](https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/)
    from WordPress.org; it will be in the form of a zip file.
 2. Unzip the contents; you should have a single folder named `contact-form-7-dynamic-
    text-extension`.
 3. Connect to your WordPress server with your favorite SFTP client.
 4. Copy the folder from step 2 to the `/wp-content/plugins/` folder in your WordPress
    directory. Once the folder and all of its files are there, installation is complete.
 5. Now log in to your WordPress dashboard.
 6. Navigate to **Plugins > Installed Plugins**. You should now see my plugin in your
    list.
 7. Click the **Activate** button under my plugin to activate it.

## FAQ

Please check out the [FAQ on our website](https://aurisecreative.com/docs/contact-form-7-dynamic-text-extension/frequently-asked-questions/?utm_source=wordpress.org&utm_medium=link&utm_campaign=contact-form-7-dynamic-text-extension&utm_content=readme).

### Where do I report security bugs found in this plugin?

Please report security bugs found in the source code of _Contact Form 7 – Dynamic
Text Extension_ WordPress plugin through the [Wordfence Intelligence Vulnerability Submission Form](https://www.wordfence.com/threat-intel/vulnerabilities/submit)
or the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/56e65af9-b50c-4307-b670-7d69463bd829).
Both platforms can assist you with verification, CVE assignment, and notify me without
publicly disclosing details that could put websites at risk.

### Where can I contribute?

Feel free to check out the [GitHub repository](https://github.com/sevenspark/contact-form-7-dynamic-text-extension).
Thanks!

## Reviews

![](https://secure.gravatar.com/avatar/ab62eb42e842b6adca897024806bbf5eaebe9896ac46f2d6823973e6d9d27d42?
s=60&d=retro&r=g)

### 󠀁[Great Plugin](https://wordpress.org/support/topic/great-plugin-40631/)󠁿

 [Hans-Gerd Gerhards](https://profiles.wordpress.org/hage/) June 28, 2025

With this great plugin, we were able to easily fulfil a customer’s request for an
extension. Thanks a lot

![](https://secure.gravatar.com/avatar/011963a0504f7b7e26232471eea3088d9cdb5bb8b3f3b9fb60450801684b5206?
s=60&d=retro&r=g)

### 󠀁[Essential](https://wordpress.org/support/topic/essential-343/)󠁿

 [posed](https://profiles.wordpress.org/posed/) August 8, 2024 1 reply

Essential plug-in. Keep up the good work!

![](https://secure.gravatar.com/avatar/4ada024c518498c470b4c10a6624392c827670eaf75547c32a256ff1ce481a3d?
s=60&d=retro&r=g)

### 󠀁[DYNAMIC Lead Funnels](https://wordpress.org/support/topic/dynamic-lead-funnels/)󠁿

 [Move Me To](https://profiles.wordpress.org/movemeto/) April 21, 2024 1 reply

Getting our leads promptly in front of the agents required our lead funnels to become
dynamic. This plug-in was super easy to install and integrate into our Contact Form
7. What a life-saver.

![](https://secure.gravatar.com/avatar/a4e341b108abc032edf57b6a6a306d131023e99c158fb6e940e72407a3540897?
s=60&d=retro&r=g)

### 󠀁[Really usefull plugin](https://wordpress.org/support/topic/really-usefull-plugin-8/)󠁿

 [ariom06](https://profiles.wordpress.org/ariom06/) April 5, 2024 1 reply

Great and usefull plugin, working just out of the box, thanks for your job!

![](https://secure.gravatar.com/avatar/c1f959fb0ddff6b3612c1ac23f3b8cd738ab5095b69bab5bc7f8627cbcbe8c6f?
s=60&d=retro&r=g)

### 󠀁[Great support: detailed and fast](https://wordpress.org/support/topic/great-support-detailed-and-fast/)󠁿

 [Jos Klever](https://profiles.wordpress.org/josklever/) August 19, 2023 1 reply

I don’t even use this plugin myself, but on behalf of my clients I had a question
today (on a Saturday) and it was answered very fast and detailed by Tessa. Not only
were my questions answered, they also pointed out some extra things to keep an eye
on, that I didn’t even thought of yet and took my suggestion for improvement in 
consideration, so they are a perfect example for other support reps. 😃

![](https://secure.gravatar.com/avatar/b251b6e06e271672aa84f2ae32819df028576d0762555fc00386d5b008101fbf?
s=60&d=retro&r=g)

### 󠀁[Simple and useful plugin for CF7, works perfectly](https://wordpress.org/support/topic/simple-and-useful-plugin-for-cf7-works-perfectly/)󠁿

 [uaoh](https://profiles.wordpress.org/uaoh/) July 21, 2023 1 reply

Great and useful plugin and great and fast support. After only a few days of reporting
a bug, they fixed it and released an update!

 [ Read all 100 reviews ](https://wordpress.org/support/plugin/contact-form-7-dynamic-text-extension/reviews/)

## Contributors & Developers

“Contact Form 7 – Dynamic Text Extension” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ sevenspark ](https://profiles.wordpress.org/sevenspark/)
 *   [ Tessa (they/them), AuRise Creative ](https://profiles.wordpress.org/tessawatkinsllc/)

“Contact Form 7 – Dynamic Text Extension” has been translated into 15 locales. Thank
you to [the translators](https://translate.wordpress.org/projects/wp-plugins/contact-form-7-dynamic-text-extension/contributors)
for their contributions.

[Translate “Contact Form 7 – Dynamic Text Extension” into your language.](https://translate.wordpress.org/projects/wp-plugins/contact-form-7-dynamic-text-extension)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/contact-form-7-dynamic-text-extension/),
check out the [SVN repository](https://plugins.svn.wordpress.org/contact-form-7-dynamic-text-extension/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/contact-form-7-dynamic-text-extension/)
by [RSS](https://plugins.trac.wordpress.org/log/contact-form-7-dynamic-text-extension/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 5.0.6

**Release Date: 06/05/2026**

Special thanks to Shane Hollis (@webkiwinz) for these security fixes!

 * Security: Fixed stored XSS in admin scan results page; form titles and shortcode
   key names were echoed without HTML escaping. This addresses security vulnerability
   CVE-2026-5116 responsibly reported by Satyarth Prakash to Wordfence.
 * Security: Fixed CSRF vulnerability on notice dismissal; `dismiss-access-keys-
   notice` action now requires a valid nonce.
 * Security: Fixed unsanitised `$_GET['offset']` parameter; now it’s always cast
   to a non-negative integer before use.
 * Security: Fixed potential regex injection in JavaScript `get_cookie()`; cookie
   key is now escaped before use in a regex pattern.
 * Fix: Fixed switch fall-through logic bug in `wpcf7dtx_get_current_var()`; missing`
   break` statements caused user/term/archive context data to be overwritten by 
   post context data.

_Note from Tessa: the AJAX nonce validation that checks `!== 1` was intentional 
to only target the first 12-hour window to be more strict. That AJAX call was intended
to run once on page load, so allowing the validation to persist beyond 12 hours 
is unnecessary._

#### 5.0.5

**Release Date: 02/17/2026**

 * Fix: Fixed a type-o in nonce verification where it compared the value against
   0 instead of 1, [see support thread](https://wordpress.org/support/topic/nonce-issue-in-cf7-dte/).

#### 5.0.4

**Release Date: 01/01/2026**

 * Security: Addressed security vulnerability CVE-2025-13146 responsibly reported
   by NosleeP++ to Wordfence. Thank you NosleeP++! The JavaScript Fetch/AJAX request
   now includes nonce verification.

#### 5.0.3

 * Fix: Moved settings translations to load as needed instead of immediately hoping
   to address the `Function _load_textdomain_just_in_time was called incorrectly`
   notice added in WordPress core version 6.7, [see support thread](https://wordpress.org/support/topic/https://wordpress.org/support/topic/error-loading-textdomain-since-wp-6-7/).

#### 5.0.2

 * Security: Addressed security vulnerability responsibly reported by Rafie Muhammad
   to Patchstack.

#### Older Releases

Please see our [additional changelog.txt file](https://plugins.trac.wordpress.org/browser/contact-form-7-dynamic-text-extension/trunk/changelog.txt)

## Meta

 *  Version **5.0.6**
 *  Last updated **2 months ago**
 *  Active installations **100,000+**
 *  WordPress version ** 5.5 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Chinese (Taiwan)](https://tw.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [Dutch](https://nl.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [Dutch (Belgium)](https://nl-be.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [English (Australia)](https://en-au.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [English (UK)](https://en-gb.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [English (US)](https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [French (France)](https://fr.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [Galician](https://gl.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [Portuguese (Brazil)](https://br.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [Russian](https://ru.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [Spanish (Colombia)](https://es-co.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [Spanish (Ecuador)](https://es-ec.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [Spanish (Mexico)](https://es-mx.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [Spanish (Spain)](https://es.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   [Spanish (Venezuela)](https://ve.wordpress.org/plugins/contact-form-7-dynamic-text-extension/),
   and [Swedish](https://sv.wordpress.org/plugins/contact-form-7-dynamic-text-extension/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/contact-form-7-dynamic-text-extension)
 * Tags
 * [autofill](https://wordpress.org/plugins/tags/autofill/)[contact form 7](https://wordpress.org/plugins/tags/contact-form-7/)
   [form field](https://wordpress.org/plugins/tags/form-field/)
 *  [Advanced View](https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  87 5-star reviews     ](https://wordpress.org/support/plugin/contact-form-7-dynamic-text-extension/reviews/?filter=5)
 *  [  3 4-star reviews     ](https://wordpress.org/support/plugin/contact-form-7-dynamic-text-extension/reviews/?filter=4)
 *  [  4 3-star reviews     ](https://wordpress.org/support/plugin/contact-form-7-dynamic-text-extension/reviews/?filter=3)
 *  [  2 2-star reviews     ](https://wordpress.org/support/plugin/contact-form-7-dynamic-text-extension/reviews/?filter=2)
 *  [  4 1-star reviews     ](https://wordpress.org/support/plugin/contact-form-7-dynamic-text-extension/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/contact-form-7-dynamic-text-extension/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/contact-form-7-dynamic-text-extension/reviews/)

## Contributors

 *   [ sevenspark ](https://profiles.wordpress.org/sevenspark/)
 *   [ Tessa (they/them), AuRise Creative ](https://profiles.wordpress.org/tessawatkinsllc/)

## Support

Issues resolved in last two months:

     1 out of 1

 [View support forum](https://wordpress.org/support/plugin/contact-form-7-dynamic-text-extension/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://just1voice.com/donate/)