This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Description

First off all this contact form plugin is completely free and has no premium plugin bullshit.

NM Contact Forms Plugin allow you simple contact form integration into your WordPress Website. Plugin has 2 built-in anti-spam solutions : HoneyPot and NoCaptcha reCaptcha. The plugin supports various form field types and has neat admin user interface.

Link to Detailed documentation

Why to choose NM contact forms you may ask.

Friendly UI:

Drag and drop interface that allows to define contact form fields order.
Plugin allows to turn on/off default styling (off by default).
Option to remove donation bar
Responsive user interface

Control over each field:

Following field types available:

    TEXT
    TEXTAREA
    FREE TEXT WITH LABEL
    EMAIL
    SELECT
    CHECKBOXES
    RADIO BUTTONS
    SINGLE FILE UPLOAD
    GET VARIABLE
    SUBMIT
    HONEY POT
    HORIZONTAL RULES
    RECAPTCHA

Define zones in the form
Define extra classes
Choose place holders
Choose if field is required
Make field read-only and pre-populate it with GET variable.

Built in anti-spam solutions:

reCaptcha (requires Google reCaptcha site key and secret)
Honey Pot

GET variable:

GET variable allows to pass information from URL to the form. For example you create a link/button to contact us page that contains GET variable (http:/example.com/?product=Shampoo), in this case your GET variable name is 'product', so in NM contact form field settings you need to define same GET variable. When user visits Contact Us page, the field will be pre-filled with GET variable value. You can save some time for the users, so they doesn't have to fill information that is already known, and just needs to be sent with form all together.

You can use GET variable with following contact form fields:

Hidden field
Regular input
Checkbox
Select
Textarea

If you find any bugs, please report! I will add you to contributors list.

TO DO:

Custom error messages
Auto response
Custom email templates

Screenshots

  • NM Contact forms plugin admin interface
  • NM Contact forms plugin frontend form design with default styling
  • NM Contact forms plugin admin settings
  • NM Contact forms plugin frontend with default styling turned off
  • NM Contact forms plugin received email design

Installation

  1. Upload /nm-contact-forms/ to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Create your contact form
  4. Find generated shorcode and paste it where you want your form to show up.

FAQ

How to create a contact form?

Install the plugin. After successful install Contact forms button will appear in the sidebar – click on it. This gonna take you to contact forms page. Click on ‘Add new’ button, enter form name and click ‘Add new form’. It will create a contact form below.

Once you have your form created you can start adding wanted fields by clicking ‘Add field button’.
Some fields such HoneyPot, reCaptcha, submit are allowed only once, so don’t panic if they grey out and become inactive later on.

Don’t forget to include Submit field as it’s compulsory field, otherwise users won’t be able to submit the form.

What extra classes setting does in NM contact form plugin?

This option allows to define

  • element class/classes that wraps the field. Defining unique class allows specific field customization in CSS.
    You can enter multiple classes separating them with white space.
  • How to use GET variable?

    GET variable allows to pass information from URL to the form. For example you create a link/button to contact us page that contains GET variable (http:/example.com/?product=Shampoo), in this case your GET variable name is ‘product’, so in NM contact form field settings you need to define same GET variable. When user visits Contact Us page, the field will be pre-filled with GET variable value. You can save some time for the users, so they doesn’t have to fill information that is already known, and just needs to be sent with form all together.

    What is Honey POT and how to enable it

    HoneyPot is one of anti-spam methods. It creates a hidden field within contact form, that meant to be leaved blank. Bots aren’t always so smart, and they fill all fields regardless. That allows code to know, that contact form was filled by bot, and prevent from sending actual message to the receiver.

    Pros and Cons:

    Doen’t impact looks of the contact form, it’s hidden, so does not bother users.
    This method won’t work if spam attack is targeted or bot is super advanced as it’s possible to teach bot to leave that field clear.

    Works well for low traffic sites, that gets less of spammers interest.

    To enable it, just click ‘add field’ button on the selected contact form, and set field type to HoneyPot.

    What is reCaptcha and how to enable it

    reCaptcha is advanced third party anti-spam solution. It’s reliable anti-spam solution provided by Google.

    To set up Google reCaptcha on NM contact forms plugin you have to gain ‘site key’ and ‘secret’ which you can do by registering your site on https://www.google.com/recaptcha/ (It’s completely free). Once you do that go, to NM Contact forms plugin settings, and enter you ‘site-key’ and ‘secret’ into the fields and hit save.

    After that go back to the forms page, choose to which form you want to add Google reCaptcha then simply click ‘add field’ and set field type to reCaptcha.

    Reviews

    Oktabr 31, 2016
    Easy to install. Easy to use. If all you need is a simple but custom contact form, look no further.
    Sentabr 13, 2016
    Does what it says on the tin. The developer has struck the ideal balance between (a) ease of use by average user and (b) the complexities that more advanced users require.
    Sentabr 3, 2016
    Awesome plugin. Simple, works well, and excellent support!
    Sentabr 3, 2016 1 reply
    I don’t say it is bad, but competition has many many more options to configure and make forms and emails functional and beautiful without digging in a code. Most importantly I was disappointed by how email created with this plugin looked like and that I could not answer this email to email address given in this plugin. Maybe I can set it up by doing something, just saying that in other plugin I have it right away.
    Sentabr 3, 2016
    This is the best free, simple contact form I have used. Its drag and drop, there are JUST enough options to make it useful, the GET variable field can be useful. If you dont need the power and price of a paid form, and dont need the complexity of contact form 7, this is the one!
    Read all 24 reviews

    Contributors & Developers

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

    Contributors

    Translate “NM Contact Forms” into your language.

    Interested in development?

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

    Changelog

    2.0

    • Bigloltrash contribution
    • Add a form List Page
    • Add Rename form Feature
    • Add Duplicate form Feature
    • Modify Update feature to show only the selected form
    • New donation form

    1.3.1

    • Bigloltrash contribution
    • Minor correction

    1.3

    • Bigloltrash contribution
    • Add a «Starting Zone» object to organize fields restitution in Div blocs (allow multicolumn for example)
    • Add a «Free text with label» object to allow html text with a label if needed
    • Add a Horizontal Rule object to display bloc separator if needed (with default styles)
    • Main form now based on div and not on UL/LI anymore to extend css possibilities, default css adjusted
    • Add specific css file load option in Settings
    • Minor email css improvement
    • Fix backslash quotes issue in form inputs and email body (used to appear \’ ou \»)

    1.2.3

    • GET field will pre-fill if POST variable is set on the page, contributed by Bigloltrash

    1.2.2

    • Minor fixes

    1.2.1

    • Added CURL fallback
    • Settings page now shows whenever fopen or curl is enabled

    1.2

    • Bug fix – undefined variables for users upgrading from very old versions

    1.1.9

    • Auto Reply to form submission.

    1.1.8

    • Reply-To setting added
    • Read-Only field option added for text,textarea,email fields

    1.1.7

    • Admin Layout Change.
    • PHP version warning.
    • Tag support in subject field.
    • Fixed layout errors.
    • Donation block amendments.

    1.1.6

    • Donation block amendments.

    1.1.5

    • Fixed settings page bug.

    1.1.4

    • Fixed show labels setting error.
    • Added redirect to thank you page url option for each individual form.

    1.1.3

    • Fixed php notices if debug mode enabled. Loading CSS and JS only when shortcode is used.

    1.1.2

    • Added setting for Google reCaptcha language

    1.1.1

    • Fixed file upload bug

    1.1.0

    • Fixed php notices if debug mode enabled
    • Implemented form title tags

    1.0.9

    • Added admin menu icon
    • Menu order number more unique – to avoid possible override

    1.0.8

    • Major bug fix – reCaptha secret option wasn’t passed correctly.

    1.0.7

    • Small update – added setting link to the plugins page
    • Bug fix – multiple forms field slug validation conflict
    • Bug fix – HTML field was visable on all field types.

    1.0.6

    • Extra submit button added to the admin
    • New field type ‘HTML’ added
    • Toggle forms setting field button added

    1.0.5

    • Major Bug fix – Jquery UI sortable script added, was causing JavaScript error on some websites.

    1.0.4

    • Bug fix – Admin layout issue in Firefox

    1.0.3

    • Bug fix – Enqueue some scripts to avoid conflicts.

    1.0.2

    • Bug fix – Duplicate field ID bug fix. Javascript was preventing from adding new fields to existing forms, if some previous fields were deleted.

    1.0.1

    • Bug fix – multiple choices gets converted into string now.

    1.0

    • Initial release