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, with a page reload… but why do you need it?). 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 (only 4 KB minified and gzipped)
  • 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 (Russian)


  1. Upload the zu-contact folder to the /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.


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

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

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


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

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

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

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

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


  • Zukit updated to version 1.2.2
  • according to the changes in Zukit, rows in Plugin Info are now hidden through the value equal to null
  • min php and wp versions updated
  • replace log_error with logc method


  • Zukit updated to 1.2.0
  • adapted after changing the position of the divider
  • adapted to the latest changes in Zukit
  • improved CSS to be compatible with WP 5.6
  • fixed bug that occurred when changing the field type
  • new screenshots added
  • changed default loader from none to 0
  • README updated


  • 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 store to support Ajax created forms
  • 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


  • intermediate version for testing the latest changes


  • 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)


  • 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