Very Simple Contact Form

plugin banner

This is a very simple translation-ready contact form. Use shortcode [contact] (email from admin will be used) or shortcode [contact email="your@e

Author:Guido (profile at
WordPress version required:4.7
WordPress version tested:5.9.2
Plugin version:11.4
Added to WordPress repository:22-11-2013
Last updated:02-06-2024
Rating, %:96
Rated by:42
Plugin URI:
Total downloads:414 600
Active installs:10 000+
plugin download
Click to start download


With this lightweight plugin you can create a contact form.

To display your form you can use a block, a shortcode or a widget.

Form contains fields for Name, Email, Subject and Message. Also included are a sum field (to avoid abuse) and a privacy consent checkbox.

You can customize your form via the settings page or by adding attributes to the block, the shortcode or the widget.

It’s also possible to display form submissions in your dashboard.

How to use

After installation add the VS Contact Form block or the shortcode [contact] to a page to display your form.

You can also go to Appearance > Widgets and use the VS Contact Form widget.

Settings page

You can customize your form via the settings page. This page is located at Settings > VS Contact Form.

Settings and labels can be overridden when using the relevant attributes below.

This can be useful when having multiple contact forms on your website.


You can also customize your form by adding attributes to the block, the shortcode or the widget. Attributes will override the settings page.


  • Add custom CSS class to form: class="your-class-here"
  • Change email address for sending: email_to="your-email-here"
  • Send to multiple email addresses (max 5): email_to="first-email-here, second-email-here"
  • Change “From” email header: from_header="your-email-here"
  • Change subject in email: subject="your subject here"
  • Change subject in auto-reply email to sender: subject_auto_reply="your subject here"

Field labels:

  • Name: label_name="your label here"
  • Email: label_email="your label here"
  • Subject: label_subject="your label here"
  • Message: label_message="your label here"
  • Privacy consent: label_privacy="your label here"
  • Submit: label_submit="your label here"

Field placeholders:

  • Name: placeholder_name="your placeholder here"
  • Email: placeholder_email="your placeholder here"
  • Subject: placeholder_subject="your placeholder here"
  • Message: placeholder_message="your placeholder here"

Field error labels:

  • Name: error_name="your label here"
  • Email: error_email="your label here"
  • Subject: error_subject="your label here"
  • Sum: error_sum="your label here"
  • Message: error_message="your label here"
  • Message – more than 1 link is not allowed: error_message_has_links="your label here"
  • Message – links are not allowed: error_message_has_links="your label here"
  • Message – email addresses are not allowed: error_message_has_email="your label here"
  • Banned words: error_banned_words="your label here"
  • Privacy consent: error_privacy="your label here"


  • Displayed when sending succeeds: thank_you_message="your message here"
  • Displayed in the auto-reply email to sender: auto_reply_message="your message here"

Example: [contact email_to="your-email-here" subject="your subject here" label_submit="your label here"]

When using the block or the widget, don’t add the main shortcode tag or the brackets.

Example: email_to="your-email-here" subject="your subject here" label_submit="your label here"

Display form submissions in dashboard

Via the settings page you can activate form submissions being displayed in your dashboard.

After activation go to menu item “Submissions”. Your form submissions will be listed here.


SMTP (Simple Mail Transfer Protocol) is an internet standard for sending emails.

WordPress supports the PHP mail() function by default, but when using SMTP there’s less chance your form submissions are being marked as spam.

You must install an additional plugin for this, such as WP mail SMTP.


If you’re using a caching plugin and want to avoid conflicts with the contact form, I recommend excluding your contact page from caching. This can be done via the settings page of most caching plugins.

Have a question?

Please take a look at the FAQ section.


Translations are not included, but the plugin supports WordPress language packs.

More translations are very welcome!

The translation folder inside this plugin is redundant, but kept for reference.


Without the WordPress codex and help from the WordPress community I was not able to develop this plugin, so: thank you!