VS Contact Form

Mô tả


This is a lightweight plugin to create a customized contact form.

Add shortcode [contact] on a page or use the widget to display your form.

Form has fields for Name, Email, Subject and Message. It also has a sum to solve (to avoid abuse) and a privacy consent checkbox.

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

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

How to use

After installation add shortcode [contact] on a page or use the widget to display your form.

Settings page

You can personalize 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 (shortcode) attributes below.

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

Shortcode attributes

You can also personalize your form by adding attributes to the shortcode mentioned above. Attributes will override the settings page.


  • Add custom CSS class to form: class="your-class-here"
  • Change default email address: 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 to admin: 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"
  • Too many links: error_links="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"


  • One attribute: [contact email_to="your-email-here"]
  • Multiple attributes: [contact email_to="your-email-here" subject="your subject here" label_submit="your label here"]

Widget attributes

The widget supports the same attributes. Don’t add the main shortcode tag or the brackets.


  • One attribute: email_to="your-email-here"
  • Multiple attributes: `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 you will notice a new menu item called “Submissions”.


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.


Please take a look at the FAQ section.


Not included but 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!


Ảnh màn hình

  • Shortcode form (GeneratePress theme)
  • Shortcode form (GeneratePress theme)
  • Widget form (GeneratePress theme)
  • Widget (dashboard)
  • Settings page (dashboard)
  • Settings page (dashboard)
  • Settings page (dashboard)
  • Settings page (dashboard)
  • Settings page (dashboard)
  • Form submissions page (dashboard)

Hỏi đáp

About the FAQ

The FAQ are updated regularly to include support for newly added or changed plugin features.

How do I set plugin language?

Plugin will use the website language, set in Settings > General.

If plugin isn’t translated into this language, language fallback will be English.

What is the default admin email address?

By default form submissions will be send to the email address set in Settings > General.

You can change this via the settings page or by using an attribute.

Why is the “from” email address not from sender?

I have used a default “From” email header to avoid form submissions being marked as spam.

Best practice is using a “From” email header (an email address) that ends with your website domain.

The default “From” email header starts with “wordpress” and ends with your website domain.

You can change this by using an attribute.

Your reply to sender will use another email header, called “Reply-To”, which is the email address that sender has filled in.

Can I display multiple forms on the same page?

Do not add multiple shortcodes on the same page. This might cause a conflict.

But you can display a form by using the shortcode and a form by using the widget, on the same page.

Can I add extra fields to form?

If you want extra fields you should use another contact form plugin, such as WPForms.

Why does form submission fail?

An error message is displayed if plugin was unable to send form.

Your hosting provider might have disabled the mail function of your server. Please contact them for info.

If they advice you to install a SMTP plugin, please check the “SMTP” section above.

In case you’re using a SMTP plugin, check the settings page of that plugin for mistakes. Most SMTP plugins have a test module, you can test the mail function by sending a test mail.

Why am I not receiving form submissions?

  • Please also check the junk/spam folder of your mailbox
  • Check installation info above and check shortcode (attributes) for mistakes
  • Check the settings page, maybe you have disabled email to admin
  • In case you’re using a SMTP plugin, check the settings page of that plugin for mistakes
  • Most SMTP plugins have a test module, you can test the mail function by sending a test mail
  • Install another contact form plugin to determine whether it’s caused by VS Contact Form or not

Does this plugin have anti-spam features?

Of course, the default WordPress validating, sanitizing and escaping functions are included.

Form has a sum to solve and you can limit the number of links in Message field.

And form contains hidden honeypot fields and a hidden time trap.

Does this plugin meet the conditions of the GDPR?

The General Data Protection Regulation (GDPR) is a regulation in EU law on data protection and privacy for all individuals within the European Union.

I did my best to meet the conditions of the GDPR:

  • Form has a privacy consent checkbox
  • You can disable collection of IP address
  • Your IP address is being used for creating a unique ID, but this is anonymized first
  • Form submissions are safely stored in database, similar to how the default posts and pages are stored
  • You can easily delete form submissions

Does this plugin have its own block?

Plugin doesn’t have its own block in the editor and there are no plans to add this anytime soon.

No Semantic versioning?

Version number doesn’t give you info about the type of update (major, minor, patch). You should check changelog for that.

How can I make a donation?

You like my plugin and you’re willing to make a donation? Thanks, I really appreciate that! There’s a PayPal donate link at my website.

Other question or comment?

Please open a topic in plugin forum.

Đánh giá

12 Tháng Tám, 2023
Simple to use, activate, drop [contact] in a page. Done Looks good, works good. Period, what more do you want?
28 Tháng Mười Một, 2022
... is this plugin when they are looking for contact forms. There are some many contact form plugins with drag and drop building stuff really nobody uses. This plugin is really simple and perfect for my use! Also this plugin does not contact any external servers. Perfect!
23 Tháng Bảy, 2022
So happy to find this plugin. Using since ever Contact form 7. But is no more SEO friendly. The support is so fast and efficient. And the installation in Wordpress so easy. So Thanks Guido for your great plugin!!!
10 Tháng Một, 2022
Very simple contact form that works. sometimes all you need is a simple form to collect very basic info. shortcode customization is straight forward.
Đọc tất cả 47 đánh giá

Người đóng góp & Lập trình viên

“VS Contact Form” là mã nguồn mở. Những người sau đã đóng góp vào plugin này.

Những người đóng góp

“VS Contact Form” đã được dịch qua 22 ngôn ngữ. Cảm ơn những người tham gia dịch vì đóng góp của họ.

Dịch “VS Contact Form” sang ngôn ngữ của bạn.

Muốn tham gia phát triển?

Duyệt code, check out SVN repository, hoặc theo dõi nhật ký phát triển qua RSS.

Nhật ký thay đổi

Version 14.3

  • Fix: removed previously added cookie
  • This was causing the “headers already sent” error in some cases

Version 14.2

  • Fix: updated transient
  • Improved validation
  • Updated file uninstall
  • Bumped the “requires at least” version to 5.0
  • Minor changes in code

Version 14.1

  • Fix: sum vulnerability
  • Plugin now uses the WP transients API
  • Because of this fix plugin now requires at least PHP 7.0
  • Please update to latest version

Version 14.0

  • Textual changes
  • Minor changes in code

Version 13.9

  • Minor changes in code

Version 13.8

  • New: set different subject for email to admin and auto-reply email to sender
  • Added attribute “subject_auto_reply”

Version 13.7

  • Email subject and form submission title: re-added subject that sender has filled in

Version 13.6

  • Removed prefix attribute of the email subject
  • Set your email subject via the settings page or by using an attribute
  • Subject that sender has filled in is displayed in email content
  • Updated settings page

Version 13.5

  • Textual changes
  • Minor changes in code

Version 13.4

  • Minor changes in code

For all versions please check file changelog.