Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

How does one go about building a page in wordpress that contains a contact form full of custom fields, boxes, inputs, etc. completely determined by the author of the site. It seems odd that wordpress currently lacks this feature, but knowing the wordpress community, it's unlikely that we must do without.

share|improve this question
    
Everyone seems to use Contact Form 7. It's good, but I've also built custom forms for this purpose. –  artlung Aug 11 '10 at 20:53
    
Is the [wordpress-3] tag appropriate here? The question doesn't refer to WP3 specific functionality and could equally apply to earlier versions of WordPress. –  Thomas McDonald Aug 11 '10 at 20:53
    
Good point TM! Retagged. –  artlung Aug 11 '10 at 20:57
    
I use Enhanced WP Contact Form and it works for me, even though it says it only works up until WordPress 2.6 it still works fine for me using WordpPress 3 –  Adam Dempsey Aug 11 '10 at 21:44
    
dynamicwp-contact-form comes with floating button on the webpage . –  Name-AK Sep 12 '10 at 5:19

10 Answers 10

up vote 21 down vote accepted

Contact Form 7 is one of the most popular plugins to add a contact form to a WP blog. It supports multiple contact forms and you can add/remove fields as needed. Additional services such as reCAPTCHA and Akismet can be added. I use this on most of my blogs to power the contact features.

share|improve this answer
    
I use Contact Form 7 on all my sites. It also has several extension points (actions and filters) with which you can add your own custom functionality. –  avesse Aug 11 '10 at 21:32
    
I've been very happy with Contact Form 7; One thing to check, if you use tools to migrate your database and replace URL's; make sure your generated e-mails are still correct. CF7 stores the line breaks as /r/n and some scripts read it wrong and re-write it to the database differently. –  Ryan Gibbons Aug 12 '10 at 18:51
    
Contact Form 7 requires Javascript to be activated to work. –  hakre May 1 '11 at 21:04

One of the most common plugins used to do this is Contact Form 7. There are also numerous other free plugins to add this functionality, as well as paid plugins such as Gravity Forms.

share|improve this answer

Consider using Gravity Forms. It's commercial but only $39 per site and it's one of the best $39 I've ever spent for WordPress development.

share|improve this answer
1  
After looking through lots of other contact form plugins Gravity forms is the only one that I'd let my clients use. Nothing else even compares to how easy and nice it is to use. –  curtismchale Aug 12 '10 at 3:14
1  
Soooo glad that I checked this site before going with Contact 7 forms. Gravity forms is seriously unbelievable. Thanks @MikeSchinkel, you saved me hours worth of work today. –  jessegavin Oct 5 '10 at 20:56
    
@jessegavin - Glad I could be of service. –  MikeSchinkel Oct 7 '10 at 2:05
    
@MikeSchinkel: Is the Gravity Forms Plugin not GPL'ed? –  hakre May 1 '11 at 21:10
    
@hakre - I believe it is licensed GPL, why? But it's not available directly from the vendor by download without paying. Are you suggesting that because it is GPL that people should look to get it for free rather than pay the reasonable amount to help fund its continued development and support? –  MikeSchinkel May 2 '11 at 18:11

Plus one for gravity forms as I have found it to be much easier for my clients to use. Is easier to provide theme support for (ie Easier to customize via CSS) and has fewer conflicts with other plugins

share|improve this answer
2  
If you want to "plus one," use the up arrow on the answer that already exists and/or add a comment explaining WHY you "plus one". –  Doug Aug 12 '10 at 17:01
    
+1 to Doug's comment. Now someone please meta-plus-one my comment! –  John P Bloch Aug 16 '10 at 17:00
    
Thanks for the heads up Doug, I have edited my answer –  Ash G Oct 5 '10 at 23:07

If you are looking to do a highly custom form, and want complete control over what happens, you can also create a new template for the page, and your form on that template would post back to itself. At the top of the template you could do something like this:

<?php
if($_POST)
{
     // do something
}
?>

Not the most elegant, but it works.

share|improve this answer

Add me to the Gravity Forms supporters list. Of course it does a lot more than just contact forms. You should definitely check out the feature list and decide if it is worth your $39 dollars. It was a no-brainer for me and I bought the unlimited site developer license. The time that it saves me makes it worth it.

share|improve this answer

I've been pleased with the (free) Deko Boko forms plugin. Flexible, easy to modify and recaptcha is integrated.

share|improve this answer
    
captcha is very bad and not the best usability –  bueltge Aug 13 '10 at 18:48
    
If I mention that captcha is not mandatory will you remove the -1? –  Chris_K Aug 16 '10 at 17:37

See the different- for only a form in one page it is easy and fast (no filter-hook or other) to write a template for a page in WP, for more flexibilty and functions us a plugin. A ready solution or a starter there you can find here: https://github.com/bueltge/WP-Contact-Form-Template

share|improve this answer

Secure Form Mailer Plugin For Wordpress

For years and years I have been using the form plugin from dagon design: http://www.dagondesign.com/articles/secure-form-mailer-plugin-for-wordpress/ for free! (so let me do my happy user giveback thing:)

This plugin has a wide range of features including:

  • Support for multiple instances
  • An easy to use dynamic form generation system (any number of fields, in any order)
  • multiple recipients
  • multiple file attachments
  • optional auto reply feature
  • an image verification system
  • numerous security features (including protection against email header injection)
  • a message template system
  • multiple languages
  • and too many other things to list.

This plugin was designed to be easy to use, while still being extremely flexible. If you just want a simple contact form, you can set one up with just a few clicks.

For those of you who need something a bit more advanced, you can completely customize the plugin to fit your needs – whether it is 5 fields or 500. A non-WordPress version is also available. ReCaptcha support has also been added, as well as support for storing the data in a delimited file.

It has served me well for years.

share|improve this answer

There is as well the Grunion Contact Form (Wordpress Plugin) which is quite simple to use. Just add a

[contact-form]

Shortcode inside a page or post. Job done. Can be configured as well.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.