Zu Contact


The plugin allows you to add a feedback form or booking form to the page.
The data is sent to the server via AJAX (this can be disabled using the settings and the form will be submitted as usual).
You can flexibly personalize the form and its fields.

The form is added to a page using the Gutenberg Custom Blocks – with these blocks, the possibilities for customizing your form are greatly increased.

You can also add a form to a page using the shortcode [zu-contact] or [zu-booking].


  • Lightweight JS script & CSS
  • Includes form blocks for the new Gutenberg WordPress block editor
  • Also supports adding a contact form to any post or page using a shortcode
  • Form submission via AJAX (configurable by settings)
  • Data validation on the server
  • Support for required fields
  • Responsive layout
  • Notification of submissions to default admin or custom email addresses
  • Send a carbon copy of the submitted message (configurable by settings)
  • Basic SMTP (Simple Mail Transfer Protocol) configuration
  • Protect submissions from spam with Google reCAPTCHA (configurable by settings)
  • Automatically checks all submissions against global database of spam (with Akismet)
  • Save messages to the database as comments to a post or page
  • Compatible with the latest version of WordPress

Gutenberg blocks

With custom blocks for Gutenberg WordPress editor you can easily create new contact forms and customize them with great flexibility:

  • You can create a form based on templates or from scratch
  • Add and remove form fields
  • Change the position of fields, their type and other attributes
  • Change field labels, placeholders and validation error messages
  • Add to verification form using Google reCAPTCHA
  • Change the animation of the form loader (used during form submission)

Shortcode attributes

You can also personalize the form by adding attributes to the shortcode:

  • class – Change CSS class of form: class="my-contact-form"
  • form – Select one of preloaded forms: form="contact"
  • subheading – Change form subheading: subheading="My Contact Form"
  • ajax – Disable form submission via AJAX: ajax=false
  • recaptcha – Disable Google reCAPTCHA widget: recaptcha=false
  • rows – Change rows amount in textarea: rows=12
  • message – Set predefined form message: message="Thanks for your hard work!"


  • With custom subheading and without reCAPTCHA:

    [zu-contact subheading=”My Contact Form” recaptcha=false]

  • With custom class, without AJAX and with 8 rows in textarea:

    [zu-contact class=”my-contact-form” ajax=false rows=8]


  • Plugin Settings Page
  • Google reCAPTCHA Settings Section
  • Editing form fields in the Gutenberg block editor
  • Editing form attributes in the Gutenberg block editor
  • Contact Form displaying
  • Another Contact Form displaying


Plugin only works under WordPress 5.1 or higher and PHP 7.0 or higher

  1. Upload the zu-contact folder to your /wp-content/plugins/ directory.
  2. Activate the plugin using the Plugins menu in your WordPress admin panel.
  3. You can adjust the necessary settings using your WordPress admin panel in “Settings > Zu Contact”.
  4. Create a page or a post and insert the shortcode [zu-contact] or [zu-booking] into the text.


There are no reviews for this plugin.

Contributors & Developers

“Zu Contact” is open source software. The following people have contributed to this plugin.


“Zu Contact” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Zu Contact” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • added zu_ContactFieldDefaults class to keep all default values for templates
  • added new forms based on default field values
  • created zu/form/ and zu/field Сustom Blocks
  • added reCAPTCHA support and created zu/recaptcha Custom Block
  • added support for Ajax created forms
  • added Forms Store notifications
  • added form Loader
  • added focus control for editing components
  • added concept of dirty forms to avoid unnecessary updates
  • added examples to all Custom Blocks
  • fixed bug with default template
  • fixed bug which occurs after recaptcha expired
  • moved error messages to jsdata (more language independent)
  • Zukit updated
  • updated SVG for icons
  • improved front-end JS and CSS
  • many other small improvements


  • added assets for WordPress.org


  • all fields are sanitized before processing
  • scroll in view before AJAX call
  • Zukit updated
  • bug fixing and css improvements


  • refactoring CSS to support different themes
  • added scroll in view functionality
  • used SVG files for icons
  • added skip for heartbeat and cron
  • some changes for wordpress.org
  • small improvements


  • implemented compatibility check (for PHP and WordPress)
  • improved archive ignore options


  • implemented Test Mail action
  • refactoring stats
  • refactoring test data usage
  • added translations and appearance
  • added plugin banner and screenshots
  • added README
  • bug fixing and css improvements


  • adapted to shortcode_atts_with_cast snippet
  • added support for Google reCAPTCHA
  • added ZucontactRecaptcha panel to manage reCAPTCHA Settings
  • added ZucontactMailer panel to manage Mail Server Settings
  • added support for SMTP error processing
  • added Debug SMTP mailer option
  • refactoring error processing
  • Zukit updated
  • improved contact form messages
  • added zucontact admin css
  • cleaning and bug fixing


  • refactoring front-end JS
  • improved error message handling
  • split ajax and mailer traits
  • support of ajax shortcode param
  • moving css_prefix to static property
  • updated to use new extend... methods
  • Zukit updated
  • adapted to latest changes in Zukit
  • bug fixing and css improvements


  • added admin JS to render settings page
  • included Zukit framework
  • renaming and refactoring before adapting to Zukit
  • small improvements


  • refactoring after adaptation for Zukit (not finished)

Attention! Breaking changes in version 0.9.7.


  • all forms now are added to DB as comments


  • bug fixing
  • updated language dictionaries
  • added append_field() method to cplus_Form class
  • added carbon_copy attribute to cplus_Form class
  • added get_success_message()method to Contact_Plus class
  • processed post_id from posting page
  • added rows attribute to shortcode
  • added me_or_us option to select between predefined headings and messages
  • improved js error processing


  • added subheading attribute
  • added new fields types: number, tel, url
  • improved js error processing
  • added support of carbon-copy attribute
  • updated language dictionaries
  • added $rows_in_message attribute for forms
  • dynamically added classes with form margins
  • css optimization


  • added language dictionaries for en and ru
  • bug fixing


  • added draft booking form
  • added template for booking form
  • submenu of settings moved in ZU+ section


  • adaptation to ZU+
  • added support for list of emails to be notified
  • bug fixing