VS Contact Form



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.


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"]

Atributos do Widget

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.


Por favor, dê uma olhada na seção FAQ.


Não estão incluídos, mas o plugin suporta pacotes de idiomas WordPress.

Mais traduções são bem vindas!

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


Sem o codex WordPress e ajuda da comunidade WordPress eu não seria capaz de desenvolver este plugin, então: obrigado!


Imagens de tela

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


About the FAQ

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

Como faço para definir o idioma do plugin?

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

Como posso fazer uma doação?

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.

Outras perguntas ou comentários?

Por favor, abra um tópico no fórum do plugin.


12 agosto, 2023
Simple to use, activate, drop [contact] in a page. Done Looks good, works good. Period, what more do you want?
28 novembro, 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 julho, 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 janeiro, 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.
16 junho, 2021
Super facil de instalar, configurar y usar. Si ningun agregado de versiones PRO ni nada. Recomendable!!!
Leia todas as 46 avaliações

Colaboradores e desenvolvedores

“VS Contact Form” é um software com código aberto. As seguintes pessoas contribuíram para este plugin.


“VS Contact Form” foi traduzido para 22 localizações. Agradecemos aos tradutores por suas contribuições.

Traduzir “VS Contact Form” para o seu idioma.

Interessado no desenvolvimento?

Navegue pelo código, dê uma olhada no repositório SVN ou assine o registro de desenvolvimento via RSS.

Registro de alterações

Version 14.1

  • Fix: sum vulnerability
  • 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

Version 13.3

  • Fix: banned words filter

Version 13.2

  • New: banned words filter
  • Disallow banned words in form submissions
  • New: set maxlength for input and textarea
  • Minor changes in code

For all versions please check file changelog.