Этот плагин не тестировался с последними 3 основными выпусками WordPress. Скорее всего, он уже не поддерживается и может быть несовместим с текущими версиями WordPress.

Ajax Contact Form


This contact form plugin is used to create a simple contact form using Ajax technology and advanced spam protection (Google reCAPTCHA v3). In difference to most other plugins, there is no form-builder included.

Check the features:

  • Protect your forms against spam using Google reCAPTCHA v3 (optional)
  • Protect form forms by blocking specific countries which are not relevant for your website (optional)
  • Using nonces for simple form value validation
  • Works with the default wp_mail() function (use it together with the Postmark for WordPress plugin to send emails via SMTP)
  • Options for the email subject and the from/to email addresses
  • You can change/translate all text using a localization tool
  • Translated into the Dutch language
  • Optional: Redirect to a «thank you..» page
  • The form HTML is compatible with the Bootstrap CSS framework
  • Optional: use the CSS style-sheet included by the plugin
  • Track successfully submitted forms in Google Analytics and/or Clicky

The plugin is built to keep stuff simple. If you need a complex web form or if you need a form builder, please use one of the existing form plugins. To use the «Block countries» feature you need an API key. Open a free ipstack account to get a key that is good for 10.000 requests every month.


  • An example how the form looks like.
  • Settings for the Ajax Contact form.


The quickest method for installing the contact form is:

  1. Automatically install using the built-in WordPress Plugin installer or…
  2. Upload the entire fws-ajax-contact-form folder to the /wp-content/plugins/ directory.
  3. Activate the plugin through the ‘Plugins’ menu in WordPress.
  4. Add the shortcode [FWSAjaxContactForm] into the page of your choice.
  5. Visit the options page and enter the necessary options. All options are explained on the contact form options page.

Часто задаваемые вопросы

How to add a manual goal in Clicky?

If you use a Clicky premium plan it’s possible to track Goals.

  1. In Clicky click on Goals > Setup > Create a new goal.
  2. Enter a name for the goal
  3. Check the «Manual Goal» checkbox and click Submit
  4. Copy/paste the ID into the field from the plugin options page

How to use the «fwsacf_after_success_form» action hook?

Use the following code in your theme’s function.php file. For example you can submit the email address and name to your CRM or email marketing system to send out some auto reply.

add_action('fwsacf_after_success_form', function($email, $name) {
    // Your code here...
    // and use the variables $email and $name if needed
}, 10, 2);

How to use the dynamic subject feature?

Using this feature is easy, just add the subject text as query string to the page URL where your contact form is located, for example: https://domain.com/contact/?dynsubject=yourtexthere


Нет отзывов об этом плагине.

Участники и разработчики

«Ajax Contact Form» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:


«Ajax Contact Form» переведён на 1 язык. Благодарим переводчиков за их работу.

Перевести «Ajax Contact Form» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

* In some situations the reCAPTCHA response was requested to late. We changed the function to get working. Please post to the WordPress forums if you see any issues.


  • Enhancement

    • Use the new action hook «fwsacf_after_success_form» to add your custom functionality right after the form was submitted successfully. Check the FAQ for an example.
    • New shortcode attribute for an optional class inside HTML form element.
    • Dynamic subject, check the FAQ for information on how to use this function.
  • Other

    • You can show/hide now the phone number field via the shortcode attribute «show_phone».
    • Fixed the tabindex sequence because of the optional form fields
    • Changed form CSS style a little (including some cleanup)
    • Updated the Dutch translations


  • Enhancement
    • We moved the options page code from the plugin file to a separate options page file. This way it’s easier to add more options (in the future).
    • New feature: Add a thank you page. Enter the URL and the visitor is redirected to a page of your choice (after the contact form was successfully submitted).
    • All static assets are moved to the new directory «assets»


We solved a bug for the reCAPTCHA function. There was a problem inside the code, which marked a message as spam if it takes more than 2 minutes to send a message. Just update and the problem is gone.

  • Enhancement
    • We change the JavaScript code a bit to prevent a double submission (which was also a problem for the reCAPTCHA verification).


After more than 3 years a new version. The plugin worked during the whole time and it was compatible with all past WordPress versions (I use the plugin on my own website). This version has some new features and the Mailgun email address validation is removed. Please check the settings page after the update and modify the settings if necessary. Check also the translations, beside the news string, some of them are replaced by new ones.

  • Enhancement

    • New feature: Prevent spam by blocking countries if they are not relevant for your website.
    • New feature: Fight spam using Google reCAPTCHA v3.
    • Update: The tracking feature for Google Analytics is updated. We support now the gtag.js version.
    • Update: The feature for multiple subjects is improved.
    • Update: The callback function is using now WordPress functions for sanitizing the field values.
    • Update: The form has now a field for a phone number (it’s not a required field)
  • Other

    • The Mailgun email address validation feature is removed.

  • Other
    • If you use the Mailgun emailadres validation, check this announcement They lowered their free quota!
    • The plugin is tested for WordPress 4.8.1


  • Other

    • Replaced the link for the «Codestyling Localization» plugin. The plugin doesn’t exists anymore, I use «Loco Translate» now.
    • The plugin is tested for WordPress 4.2


    • Fixed some issues with the (Dutch) translation files
  • Enhancement

    • The contact form message is filtered now by using the function wp_kses() before the message is added to the email message


  • Other

    • Added .pot file for translations
  • Bugfixes

    • Removed the IF statement for the API key value inside the shortcode function. Since version 1.03 the API key isn’t required anymore.
    • Fixed a view option name values inside the function FWS_ajax_contactform_action_callback()
  • Enhancement

    • Added Dutch translations
    • Added a new option to change the «thank you message» (I keep the old text as fallback option)
    • Code optimizations (replaced standard PHP functions and code with native WordPress functions)
    • Added default options to plugin values (where possible)
    • New: Uninstall function — All plugin option are gone on removal


  • Other

    • Added updated screenshots
  • Bugfixes

    • The object name used for wp_localize_script is changed because of possible conflicts with other plugins or themes
  • Enhancement

    • The Mailgun email address validation feature is now optional. The validation process is also moved from client side code (JS) to the server side code (PHP).
    • Before the form gets submitted, a simple email address validation (regular expression) is done.
    • Now it’s possible to enter multiple subjects for the email message. These subjects are used to create a SELECT menu for the contact form
    • It’s possible now to translate the complete plugin

  • Other
    • Added icons for the plugin repository
    • The plugin is tested for WordPress 4.0
    • Added instructions for using the track Clicky goal feature
    • Added an updated screenshot for the plugin settings


  • Bugfixes

    • Removed some typos in the text
  • Enhancement

    • Simple goal or conversion tracking for Google Analytics and Clicky


  • Bugfixes

    • Fixed the name for the nonce verification
    • Removed the bug for the wrong addressing of the ajax call back function
  • Enhancement

    • Added some screenshots and FAQ’s
    • Overwrite the mail subject global setting by using a shortcode attribute


  • Initial release