Contact Form 7 can manage multiple contact forms, plus you can customize the form and the mail contents flexibly with simple markup. The form supports Ajax-powered submitting, CAPTCHA, Akismet spam filtering and so on.
Docs and support
You can find docs, FAQ and more detailed information about Contact Form 7 on contactform7.com. When you can’t find the answer to your question on the FAQ or in any of the documentation, check the support forum on WordPress.org. If you can’t locate any topics that pertain to your particular issue, post a new topic for it.
Contact Form 7 needs your support
It is hard to continue development and support for this free plugin without contributions from users like you. If you enjoy using Contact Form 7 and find it useful, please consider making a donation. Your donation will help encourage and support the plugin’s continued development and better user support.
With the default configuration, this plugin, in itself, does not:
- track users by stealth;
- write any user personal data to the database;
- send any data to external servers;
The following plugins are recommended for Contact Form 7 users:
- Flamingo by Takayuki Miyoshi – With Flamingo, you can save submitted messages via contact forms in the database.
- Bogo by Takayuki Miyoshi – Bogo is a straight-forward multilingual plugin that doesn’t cause headaches.
You can translate Contact Form 7 on translate.wordpress.org.
- Upload the entire
contact-form-7 folder to the
- Activate the plugin through the Plugins screen (Plugins > Installed Plugins).
You will find Contact menu in your WordPress admin screen.
For basic usage, have a look at the plugin’s website.
For more information, see Releases.
- Fixed: A REST API call aborted with a PHP fatal error when the
WPCF7_USE_PIPE constant value was false.
- Introduces the
- Sets the
$error_type parameter explicitly.
- Makes the
wpcf7_special_mail_tags filter functions’
$mail_tag parameter optional.
- Makes the [contact-form-7 404 “Not Found”] message localizable.
- REST API: Adds the
permission_callback argument to every endpoint definition.
- Flamingo: Uses
id() instead of
id, if available.
- Fixed: The
free_text option did not work correctly with the
wpcf7_mail_tag_replaced filters even when the
$posted_data is null.
- Adds custom mail-tag replacement for quiz fields.
- Admin: Updates the date column format in the list table.
- Submission: Introduces the
- Submission: Introduces the
wpcf7_skip_spam_check filter hook.
- Contact form: Introduces the
- REST API: Adds parsed form-tags data to the response.
- REST API: Deprecates the
wpcf7_ajax_onload filter hooks and introduces the
wpcf7_refill_response filter hooks as alternatives.
- Frontend CSS: Style rules for the response output refer to the
- reCAPTCHA: Moves script code to a separate file.
- reCAPTCHA: Changes the name of the field for reCAPTCHA response token from
- Special mail-tags: Reflects WP timezone to
- WPCF7_FormTag: Reflects WP timezone to
- User input validation: Strictly compares to boolean false.
- reCAPTCHA: Shows no warning on upgrading from v2 if the global sitekey is defined.
- Accessibility: Improves the response message markup.
- Fixes the regular expression pattern in
- Fixed: Character count was not reset after a successful submission.
- Fixed: The fourth parameter of the
wpcf7_special_mail_tags filter hook was not correctly set.
- CSS: Adds an explicit LTR direction style rule for code inputs.
- Accessibility: Uses Error instead of ERROR in warnings.
- CSS: removes a style rule from the stylesheet that was unnecessary and conflicting with Twenty Twenty’s rules.
- REST API: retrieves the contact form ID explicitly from the route parameters.
- Config Validator: New test item for the unavailable_html_elements error.
- Config Validator: New test item for the attachments_overweight error.
- reCAPTCHA: introduces the WPCF7_RECAPTCHA_SITEKEY and WPCF7_RECAPTCHA_SECRET constants.
- reCAPTCHA: Introduces the wpcf7_recaptcha_sitekey and wpcf7_recaptcha_secret filter hooks.
- Adds $status parameter to the wpcf7_form_response_output filter.
- Creates a nonce only when the submitter is a logged-in user.
- Introduces WPCF7_ContactForm::unit_tag(), a public method that returns a unit tag.
- reCAPTCHA: gives a different spam log message for cases where the response token is empty.
- Acceptance Checkbox: supports the label_first option in an acceptance form-tag.
- Fixes a bug making it unable to unselect an option in the Mail tab panel.
- Constant Contact: Introduces the contact list selector.
- Constant Contact: Introduces the constant_contact additional setting.
- reCAPTCHA: Introduces the wpcf7_recaptcha_actions and wpcf7_recaptcha_threshold filter hooks.
- reCAPTCHA: Modifies the reaction to empty response tokens.
- Introduces the Constant Contact integration module.
- Updates the reCAPTCHA module to support reCAPTCHA v3.
- Adds Dark Mode style rules.