After months of testing and refinement

you can now download the awesome

Quick Plugin Theme to play with.

WordPress Quick Contact Form

When you fire up the plugin a basic form is already configured and ready to use. All you have to do is enter your email address and add the shortcode [qcf] to your posts or pages.

There is a lot more functionality now that there was at Version 1 but the form still works right out of the box: just add your email address and it’s ready to go.

What do you get for your money?

Quick Contact Form admin page

Quick Contact Form admin page

  • 12 selectable fields including name, email, telephone, dropdowns, checkboxes, dates, radio fields and range slider
  • Attachments (with optional restrictions)
  • Optional captcha
  • Multiple forms all managed through a single dashboard
  • Message display and download function
  • Editable thank-you message
  • All sort of validation and customised error messages
  • Selectable tracking
  • Akismet spam filtering
  • Redirections
  • And a whole bunch of styling options

New stuff

The latest version of the form allows you to delete individual messages and there is a new range slider field. Demo  here. Someone actually wrote me a letter the other day – really nice to get that.

Here’s some examples

You can see an example of the form over on the right. Have a play and you will see the error and thank-you messages. Everything you see can be edited and changed: fields, headers, messages, colours, fonts, borders and backgrounds.

There are some examples of forms over here.

Getting Started

There are some basic instructions for use on the plugin settings page.

I’ve also begun to put together an idiot’s guide. Only in English though. If you would like to help with a version for your language I would be most grateful.

The QCF Instructions for Use

Errors and Problems

If you use aol, gmail, yahoo, hotmail, live, aim, or msn you could find your email getting blocked by the host. I’ve updated the plugin so there is option to send using SMTP. This should solve the problem. If it doesn’t then try this troubleshooting guide.

The datepicker can sometimes default to English. WordPress should look after this but can get it wrong. There are a couple of solutions to help with localizations.

Download the Plugin

Here’s the plugin:

Join in the fun

If you want to help with the plugin drop me a message and I’d send you the beta versions as they get developed. In return you get a mention here and on the wordpress plugin page.

  1. Alex said:

    Hi Jeffrey,
    Could you advise, is it possible to turn off your Java Script …act-form/quick-contact-form.js?ver=4.0.1 on the home page?
    Your plugin is great and I use it only one page, not the Home page.
    Thanks you,

    • Graham said:

      Well I suppose you could but the JS is necessary for the form to work. Remove this and the labels won’t disappear when you select an input field

  2. Emma said:

    Hi, awesome plug-in, I think it might be just what I’m looking for. Can you tell me if there is a setting or what the custom css should be to change the line-height? Right now there is a full field height of space between each field and I’ve put the form in the footer of the site, so it looks way too big and clunky.
    Thank you so much!

    • Graham said:

      Hi Emma,
      It looks like your theme is adding the gaps. In base.css you have #top input[type=”text”] {margin: 0px 0px 20px}; which is causing the problem. Do some playing with this and you should be OK.

  3. Chris Harries said:

    After spending 2 whole days looking at various form builders for Word Press, came across this one. Instantly threw the rest away. This is easy and versatile and looks good.

    Only problem is that the slider seems not to work properly when a form is filled out using Firefox. (Chosen slider entry defaults to the center figure.) But, hey, that’s a small problem.

    • Graham said:

      Hi Chris,
      Glad you like the plugin, a lot of work has gone into making it as easy to use as possible with as meany features as possible (many of them requests from users). The range slider thing was a tricky feature to implement and, as you have discovered, Firefox doesn’t always play the game. There doesn’t apepar to be a workaround anywhere so we are stuck with this until Mozilla changes its policy.

  4. Srinu said:


    I have been using Quick Contact Form plugin more than year ago. Unfortunately, from past few month I’m not receiving emails.

    Need a solution on it.

    • Graham said:

      You need to check with your host. The plugin just sends the message to your email server, if you don’t get them from then the blockage is with your hosting. You could also check that your host isn’t blocking yahoo IP addresses.

  5. Zia Shahriare said:

    I am wondering if you can suggest me any plugin or code for ClasssiPress theme so that I can disable the price showing option. Thanks in advance.

  6. Pepenymi said:

    Hello Graham!

    I really love your plugin and it works perfectly!!! Just what we all needed!

    Just one question: can i hide the email of the outgoing message from website so that the email looks like it’s received from Vangoghmilano and NOT from


  7. Jacob said:

    Your quick contact plugin throws this error for forms without a date input “Uncaught ReferenceError: objectL10n is not defined”, the error can be found on your site too. Can you add a conditional so the jQuery datepicker code only runs if the object is on the page?

    • Graham said:

      Thanks for the bug report. The problem is not the jquery, it’s a localisation script. I will get this fixed soon. But not tonight as my ISP has crashed out.

    • Graham said:

      I’m not seeing any error, all forms working as they should. Can you send me a screenshot

    • Jacob said:

      Here’s a link to the screen shot and the error I’m seeing in the console:

      Uncaught ReferenceError: objectL10n is not defined quick-contact-form.js?ver=4.0:7

    • Graham said:

      That’s just javascript warning you that an object hasn’t been defined before it’s called. The coding is sound so doesn’t really need resolving. There is an excellent guide to ReferenceErrors on the javascriptweblog.

    • Jonathan Bailey said:

      While I agree it’s not a serious error, but it does cause other JavaScript plugins, such as the one to create a fixed widget (one that scrolls with the user), to not work with the code. I’m going to need to dig out a different contact form for the site I’m building.

    • Graham said:

      Hi Jonathan,
      The next update will expunge all the errors and will be released as soon as I’ve incorporated a user request. Not sure why the form affects other plugins, the only bit of JS is the calendar and that just uses the built in WordPress scripts. Can you tell me what plugin you are using and I can do some testing.

  8. Keara said:

    Hi thanks so much for a great contact form. I was just wondering is it possible to make 2 different forms for one site? Or can I only make one?


    • Graham said:

      Indeed you can Keara,

      Just go to the plugin setup page and add a new form. Once you have saved you will see the shortcode you need to use. The form will also be listed in the widget.

  9. Jordan said:

    Hi Graham,

    I’ve seriously been searching for a plugin for months now which is scalable enough to place in a sidebar. You’ve made a fantastic addition to the WordPress community. I’m hoping you can help me with one last customization. I’ve created a form with a custom image as the button created in Photoshop. I’ve also decided to utilize the math field validation.

    The issue is that I don’t want the form to take up all that room by having the (starting from top to bottom) form fields, then math validation, then the button down below. Is there some custom code I can utilize to pull the button up to the same level as the math validation (on the right side specifically)? If so, that would be great! Look forward to your feedback.

    • Graham said:

      Hi Jordan,
      It is sort of possible but you would need strip our the paragraph tags from the form. I just did a quick test and it worked. Or I could send you the version of the plugin I’m working on that has akismet built in. If you select to use Akismet you may not need the Maths Captcha.

  10. Andy said:

    Love the form – but seem to be having a number of issues when setting the email address that receives the form to being the same as the domain name. On a few different websites.

    Ie a form on can send the emails through no problem to any email address other than – seems very odd – tried wp-mail and php-mail. Same result.

    The messages are showing up in the admin side and as i said – work fine for any other email address that doesn’t use the same domain name.

    Any ideas what I’m doing wrong ?

    • Graham said:

      That’s a server/hosting problem. The plugin doesn’t care what email address you use, as soon as you press send the message gets sent to your email server. What happens after that depends on your hosting. I suspect it’s an aggressive spam filter chucking out the messages.

  11. Tim Dondorp said:

    Thanks for this plugin. It is great, but I mis one styling option. How can I style the Form title (fontcolor, fonttype and fontsyze)?

    • Graham said:

      Hi Tim,
      Go to settings > quick contact > styles
      How will see options to change the font and header styles

  12. rudolf said:

    Let’s see, quick plugins makes a paypal payment plugin and a contact form plugin – and never combined the 2 into some sort of paid for submission form??
    Eieiei, may i suggest you try that, could be pretty useful to some….

    • Graham said:

      I’ve been fiddling around with a combined plugin for a while but it’s not been too successful. Paypal is the problem – they will only let me transmit a limited data set which means all the contact form stuff gets lost.

  13. Naomi said:

    Is there an easy way to put in a line, a title between labels? I kind of need a extra label too, but I saw that’s a bit difficult. Like the way it works so far.

    • Graham said:

      Interesting question Naomi. Adding this functionality it’s difficult. I can easily add a ‘comment’ field to each element of the contact form but not sure many people would need it. But if you want me to have a play give me some details and will send you a version for testing. What extra label do you need?

  14. Mukul Jayaprakash said:

    I have Added Captcha for Quick contact form.
    it uses “Really Simple CAPTCHA” plugin
    you have to install really simple captcha first and then
    You have to replace the quick-contact-form.php with
    this modified one.
    its located in wp-content/plugins/quick-contact-form/

    • Graham said:

      Hi Mukul,
      The problem with your solution is you only have half the code in place. You need to offer the options in setting.php as well. And the styling needs to be incorporated into the custom css file so the capthca matches the rest of the form. And of course you need to have the prompt to install the plugin.

  15. Tony said:

    Hi there..
    Would like to thank you for this great plugin. I’ve already installed it and used it in two of my client’s site, (one of the above). I found it’s great if you want to use it as a secondary contact form and what I mean is this: I would like to have the choice of having more than one “multibox” for instance where I can add 2 or more of the same fields. That would make it my primary form for sure. I do mostly hospitality sites, where it’s imperative to have “date” fields so that people can choose their dates. Same goes for example with fields such as dropdown boxes.
    I love the fact that you can make it as wide or narrow as you want..and most importantly, that you can put your own backgrounds. I think that makes it so much fun…!!

    Thank you…:-)

    • Graham said:

      Hi Tony,
      This is something I’ve been playing with. What I want to do is convert the checkbox/dropdown/radio into multi-fields. I did sort of get it to work but the coding was pretty horrendous so it went on the back burner while I built some user requested enhancements to another of my plugins. Now that’s done I’ll look at this again. It seems quite simple in theory but my iffy coding skills couldn’t quite get it right. But just for you I shall persist…

    • Tony said:

      Hey Graham..

      Thank you so much for your swift reply…I do appreciate your time into this…! Anything you can try to get this more flexible in terms of number of identical fields, multi fields, etc the better this plugin will get with a lot more people. I think it deserves any time you dedicate into it…!!

      Thank you again…I look forward to seeing its transition…!


    • Tony said:

      Hi sorry Graham,

      Could you please e mail me if you do make these changes/transition..?? Just so I know and start using them for my primary purpose…thanks again..!!!

    • Graham said:

      Just sent an update to your email address

  16. Christie said:


    In an age where customer service has become the exception rather than a rule, it is rare to find someone who responds to a concern/issue/problem. You did so much more than that! You went the extra mile and enabled us to have an interactive form that will give us the ability to gather the information we need.

    To say a simple “Thank You” doesn’t even begin to tell you how much I appreciate your efforts, but since it is meant to speak volumes in this instance, please accept it with all sincerity.


    • Graham said:

      Thank you Christie,
      Always a pleasure to help someone out. If you want to send me the URL I’ll add the site to my examples page.

  17. Christie said:

    What a great plugin you’ve created! We’re presently designing a new site and it certainly works well for our Contact page. I have one question: Can the date field be expanded to include more than one date? We have clients who submit inquiries re: events/meetings that often occur over a period of 2-3 days, and if they were able to include all pertinent dates, it would be wonderful! If not, is there a way to duplicate the date field so we could have a From Date field and a To Date field?

    Thank you for all you’re doing to make our jobs easier!


    • Graham said:

      Hi Christie,
      I’ve been experimenting with ways to add more fields to the form but without success. I got it wrong when I first built the plugin and it has caused no end of problerms since then. But what I can do is make the the last two fields multipurpose. If you want to use them you would have a choice of plain text, email, telephone or date. Would this work for you? If it is and you want to help with the testing let me know.

  18. Gert said:

    Just had problem with the text that didn’t show up in windows live mail but it works in all other mailprograms.

    I have a question, I want to send the form to 2 email adressess.
    I tried to use ” , ” and ” ; ” but I can’t get it working ( ,
    Is it possible to send it to 2 addresses? I tried all, spaces, no spaces, etc.. I get the mail to the first emailaddress but not to the second.
    When I use ” ; ” I get nothing at all at both email addresses.
    Thanks in advance

    • Graham said:

      Hi Gert,
      Live does all sorts of wierd things. Have you checked the troubleshooting guide?

      To send to multiple addresses put a comma between each one – no spaces

  19. Celeste said:

    I’ve inherited this site and the client doesn’t like the text “Captcha:” as the label for the math problem. Can I change that?

    Thanks so much!!

    • Graham said:

      Hi Celeste,

      That’s not my plugin! The form on the page looks like the one that came with the theme. My plugin is installed but you don’t seem to be using it.

  20. Geir said:

    What have happened after the last update of this excellent plugin? When I save a contactform all my fields is gone. There is only a send button left.

    • Geir said:

      And then i noticed it was a new update. Problem solved :-)

    • Graham said:

      Hi Gier,
      I’d been working on the plugin settings pages to make them easier to use. In doing so I managed to delete the key line of code that registered which fields you wanted on the form!

      But all sorted now. I hope….

  21. said:

    We’re lots of volunteers along with beginning a new structure in our area. Your web blog supplied all of us having helpful data to be able to paintings in. You could have completed some sort of solid career as well as each of our total group will most likely be grateful to you.

    • Graham said:

      Ummmm. OK, thanks

  22. Ewan Kennedy said:

    This is awesome. Just installed it on my site in sidebars and on contact page. Love the way you get notified of the page the visitor was on when the form was submitted. Lots of cool features and easy for dummies like me.

    • Graham said:

      Hi Ewan,
      Glad you like it. I created the plugin because I got so fed up getting the bigger plugin to work how I wanted. Have you found the message download bit? The plugin saves all the emails which you can then download as a CSV file.

      And hallo from Aldershot.

    • Ewan Kennedy said:

      I’ll find it & thanks for the tip, neighbour. When I receive my first enquiry using your form, I’ll drop you a Paypal contribution so that you can enjoy another beer in some of the time you keep free by not using it all on social media (just read your about page). :-)

  23. Stephen said:

    Hey, Just wanted to drop by and let you now how awesome this form is. It is easily the most customisable and easy to use forms available for wordpress.

    I’d love to know, If there is a way to add Google analytics tracking as a conversion (for noobs)

  24. Martin Oxby said:

    Heya, I’m looking to try and get two drop-downs on one client form and it’s not playing ball. Any ideas? Thanks!

    • Graham said:

      When I built the plugin it was only ever supposed to be a quick and simple contact form. It’s grown a bit since then. Adding a second drop down (or any other field isn’t easy as there are a whole bunch of functions I need to change. How important is it to have two dropdowns, could one of them be a set of radio buttons?

  25. Rob said:

    Great Plug In. Works very well. Thank you for it. I have only one problem.
    The Fonts in the Box called textarea are not the same size and Font family as in the textboxes. Is it possible that it can be changed or can I do it myself.

    • Martin Oxby said:

      QCF responds to your CSS both within the ‘custom CSS’ bit or in your themes style.css so control both those things from one of those options.

    • Graham said:

      There shouldn’t be too many theme styles that affect the plugin. Some badly built themes force their style but in general the only theme style that has any effect is the H2

  26. Theo Noordewier said:

    Why do the mail look like this?

    Best regards,

    MIME-Version: 1.0

    Content-Type: text/html; charset=”utf-8″
    Date: Mon, 14 Oct 2013 11:12:24 +0200 (CEST)

    The message is:Uw naam: TheoUw E-mailadres: xxx@xxxx.nlUw bericht: test2Message was sent from: Contact/RSSSenders IP address:

    • Graham said:

      I have no idea Theo. I’ve just checked the message format and it arrived OK in Outlook, Thunderbird, Gmail, my iPhone and as a plain text message on a webmail server.

      How did you send your message?

  27. vicky again again said:

    Hi, I do apologize. Turns out I did get it to my domain mail. But my domain mail gets forwarded to my Yahoo, and that email ended up in Yahoo spam. Normally, email that gets forwarded from my domain gets through to my Yahoo inbox. Anyway, I was mixed up and it did get to my domain.

    • Graham said:

      No need to apologise Vicky, these things happen. I was doing some work the other day and uploading to server and getting well frustrated that it wasn’t working. Turns out I was uploading to the wrong website.


  28. vicky said:

    Hi, I really like this form, but no matter what I do, the messages ALL go to spam. I’ve tried the php method, the wp method, my yahoo mail, and my domain mail. Not even one of them has gotten through. Is there some way to get the messages to my inbox? Thanks.

  29. Sharif said:


    I am pleased to find this great plugin, many thanks for all your hard work.
    Just quick question, I started setting up my WP site and was wondering if this form can be in a separate page, if so it will be perfect.
    Many thanks to you

    • Graham said:

      Hi Sharif,

      All you have to do is create a new page or post and just the shortcode [qcf].

  30. james said:

    HI I have installed the plugin but cant get a copy of the message submitted, i have it set to wp-mail but still no luck,

    I do see the message in the message data base.

    I downloaded ( the email test zip file….BUT is in a format I cant play says Codec needed, is it a video? do you have link i can see it please as I cant play it

    Many thanks

    • Graham said:

      James, save the zipped file then upload as a new plugin.

      If you can see the messages in the database it means it has been sent. If it isn’t in your inbox then the problem is probably with your hosting. Ask them about their email settings – they may have some restrictions.

  31. John C said:

    Great plugin! I am building a wordpress site that will go live any day now. I was wondering if it is possible to add more text fields? For my forms..

    • Graham said:

      Hi John,

      It’s not something I’m planning at the moment as I’m busy with a paypal plugin. But the question has been asked before so I will investigate. It’s not a difficult thing to do but it will take a little time so get all the various functions to work properly.

      How many new fields do you need?

  32. John Cook said:

    This great simple form is working fine….BUT something that is not a massive issue at all rather an annoyance.

    The copy email (to the submitter) and the email it sends to me both have TWO House No. fields – the first with the submitted data the second one without it. I’ve tried switching this field on and off ,renaming it etc but still two appear on the emails.

    Any thoughts on this little quirk?

    Many thanks


    • Graham said:

      The problem seems to be the last field in the database list (which may not be the last field in your form). The plugin checks each one and builds the message but for some reason checks the last one twice. I shall investigate…


  33. Diksha Web Solutions Pvt Ltd said:

    Thanks for Your Quick Contact Form, I also use it, this is very use full for word-press users, Thanks again for sharing.

  34. Mike Puckett said:

    Is there a way to add more text boxes?

    • Graham said:

      Not at the moment but it is something I have been pondering over. How many more do you need?

    • Mike Puckett said:

      Lots. I am looking to create a customer registration form as well as a support form that would have lots of fields

    • Graham said:

      Probably the best solution is for me to create a bespoke form for you – adding a load of new fields to the plugin would mean a while bunch of stuff most people don’t need.

  35. Alexei said:

    Hi again.
    One more thing, I added ID for each field for better CSS customization.
    I think it can be great to add it to plugin php as well as to CSS with empty values.
    And may be empty CSS can be good, only basic settings. Plain as it called.
    Just a thought.
    Tons of thanks.

  36. Alexei said:

    Great plugin. Simple and useful.
    Tried lots of contact form plug, this one simple yet.
    But i have one problem, I need to use __(), _x() functions to translation. Any chance to find the way?
    Thanks a lot again

    • Graham said:

      This is something I’ve been playing with but it’s not easy. Which bits do you need translated, is it all the admin areas? If so then I can certainly add the __(), __x() functions but you would have the generate the .mo files

      Any offers of help with adding the functions would be appreciated!

    • Alexei said:

      I need it to work with input fields and send button.
      I do have mo file for my theme.
      I’ll try to do something myself if it will work, ill post here.
      I’ll try to work on your code.

    • Alexei said:

      I made it.
      Not the best solution, but it forking.
      I edited your plugin (for test) i changed send button
      $content .= ”.”\r\t”.

      Here is my code.
      And I added translation for each language.
      Now i have it in 3 languages.
      The problem is that you cannot customize caption for submit button from the plug in. working on it.
      Hope it will help you.
      Good luck and thanks for plugin

  37. Hurtel said:

    I install your plugin on one of my blog and it looks great, the form setting and styling are easy to use and i was very pleased. But I try it and did not receive any email in my yahoo mail box, even using the WP-mail. Then I try with a domain email and it did not work either… I have problem also with the redirection page that seems to be not working ?
    Thank you for you help

    • Graham said:

      I’ve just sent you a test message from a test site. If you got it then it means your email is accepting messages. Can you try re-saving your form email settings.

      I’ve also checked the redirection and it works on this test page:

  38. Kim Springer said:

    LOVE your plug in. I need help because my site has a black background and I can’t see the text as I’m typing in the form because the font is a dark color. How can I edit the CSS to change the font to a lighter color?


    • Graham said:

      Hi Kim, glad you like the plugin.

      The simplest way to set up your own style is is to use the custom css. Delete everything that’s in there and insert:
      .qcf-style input[type=text], .qcf-style textarea, .qcf-style select, .qcf-style #submit {color:#FFF}
      That should give you white text on the form fields.

  39. Ben said:

    If I need a contact form yours is the one I always go for; easily the best (in my opinion).
    I’m having some nested shortcode troubles this time round though unfortunately. So here’s my content:
    I’ve tried other shortcodes between my password-protect ones and they work, so how do I make yours work?
    Thanks in advance,

    • Graham said:

      Thanks Ben,
      If you tell me the name of the password plugin I can do some testing. Why can’t you just use the built in wordpress password protection?

      Update: after some investigation it seems that the password plugin is ancient and hasn’t been updated in years. WordPress does warn that it might not be compatible with later versions of WP. I couldn’t get to work at all.

  40. Magda van Tilburg said:

    Dear Graham!
    OOPs, after the update today all my changes are gone. Stupid I made them in the plugin/editor/css and not in the custom css inside the plugin.
    But now I cannot find anymore where I did what: again that nasty border is around the form, and I really want it gone with the option rounded squares with shadow. And also I had a beautiful color in the shadow, which matched the style of my site. But I cannot find the shadow-color anywhere anymore.
    I hope you once more come to my rescue. And I promise I will save all in the custom css, so that you can update without risking my emergency cries. 😉
    Thanks, Magda from sunny Amsterdam (after the flood)

    • Graham said:

      Don’t Panic!

      I’ve sent you an email (no floods but lots of baby birds in the garden)

    • Magda van Tilburg said:

      I’m watching and waiting with excitement my mailbox, Graham!

    • Magda van Tilburg said:

      Thnx so much, Graham! 😀

  41. Magda van Tilburg said:

    Hi Graham!

    I would like to express – as so may others before me – my great gratitude for this simple, yet beautiful customizable plugin!

    Only 2 minor matters:

    – I tried to center the form, as you suggested here above, with html (aligncenter etc).
    But it is extremely stubborn 😉
    Is there in the meantime an easier solution for that?

    – Is there a possibily to let the form float, instead of fixing the pixel width? Then it can be responsive, as is SO 2013 😉

    Anyway, lots of thanx for so far!!

    • Graham said:

      Hi Magda,
      Centering forms is always tricky. The best solution is to put it in a div. Change your page to text view and add this code:
      <div style="width:280px;margin: 0px auto">

      Change the width to whatever your form width is.

      To make the width responsive just use the ‘styling tab’ and you have all sorts of options.

      Hope this helps, Graham

    • Magda van Tilburg said:

      Dear Graham!
      Thank you so much for answering so quickly!
      I just found out I was so stupid not to be aware that the option 100% – “fill available space” is exactly what I wanted. That option makes the form centered. AND: responsive! I am so very glad! Love your work on this beauty plugin.

      Maybe I get too bold now, and push my luck: is it possible to have NO border around the form. That option is not available. And the black ‘send’button cannot change color, I gathered?

      Anyway, I am more than content.
      Grateful greetings from chilly Holland.

    • Graham said:

      Morning Magda,

      There is an option on the styling page to change the border to ‘none’. On the same page (down the bottom) are custom styles. Just add the style: .qcf-style #submit{color:#123456}. Make sure you select the ‘use custome styles’ box and save.

      (and greetings from a wet and cold England)

    • Magda van Tilburg said:

      Dear Graham!

      If it was spring like it supposed to be, I propably didn’t have time to be so picky in customizing your awesome form, so please excuse my ongoing questions 😉
      These little nasty things now remain:
      – When I take the option ‘no borders’ (as I tried at the beginning), then the white fill-in boxes totally stretch from left to right. I mean, the chosen color doesn’t go around them, only under and above. I just want to get rid of the 1px line around the formbox. None of the options provide that possibility.
      – Nice to have a colored text now in de send-button! Thnx! But actually I wanted the big black button itself to have the color of my site…
      – And now I’m at it: is it possible to give the fill-in boxes also another color than the provided white?
      Thnx so much, all my best, Magda

    • Graham said:

      OK here we go. Set to a plain border and put this in the custom style
      .qcf-style input[type=text], .qcf-style textarea {background:#123456}
      .qcf-style #submit{background:#123456}
      .qcf-style #plain{border: 1px solid #FFF}

      The first line sets the background colour of the input fields. The second line changes the submit button background colour. The last line changes the border colour to white.

      And it’s sunny here now!

    • Magda van Tilburg said:

      Dearest Graham!
      Although the rain above Amsterdam does not have plans to move on, the sun shines in my studio! The Quick Form is now totally in the style of my site. I am ashamed to admit that I totally was unaware of the special QF-css under Appearance/Editor (yes, a semi-dummie still).
      Anyway: this is the best plugin I ever used.
      All my best wishes!

  42. GEW said:


    Great plugin! I am the designer not the client. I was wondering if it is possible to add more fields?

    • Graham said:

      When I first wrote the plugin there were only three fields – it really was a quick contact form. I added a telephone field then 6 more, attachments and finally worked out how to have multiple forms. I have been looking at adding an option for extra fields but it’s not easy as I’m not really a developer.

      You are the only person to ask for more so I’m assuming most are happy with the 10 there are. How many more do you need?

    • GEW said:

      Okay, not to worry then. Is it possible to add two contact forms on the same page?

    • Graham said:

      Yes, easy peasy. In the plugin settings page just create a new form. After saving you will see the shortcut you need to use. You can then configure/style and do whatever to change the new form. You even have the option to send to a different email address. This is my testsite with 4 forms on one page:

    • GEW said:

      Okay Cool Beans then! Will give it a shot. :-)

  43. Jack Andrews said:

    Wow. That really was easy. Done. Sorry to bother. Thanks much….

    • Graham said:

      Jack, I used the wordpress brain-beam plugin to send the solution via telepathy into your head.

      I’m now sending: buy Graham a beer…

  44. Jack Andrews said:

    Ok, sorry. Reading more closely, I see the [qcf] for pages, but where or what file would that go into?
    Thanks for your patience.

  45. Jack Andrews said:

    Graham, I’m pretty green with WordPress and not a coder. Is it possible to drop your form into the content area of a page, instead of a sidebar? Might be a dumb question, but there it is. Thanks very much.

  46. jbg said:

    Hi, nice plugin, very easy to setup ! I do have a little question : when I receive the email from the form I got this, witch is is not very well formated. Also you can see the çà èé coresponding to çàèé in the message field.

    MIME-Version: 1.0

    Content-Type: text/html; charset=”utf-8″
    Date: Thu, 4 Apr 2013 10:10:39 +0200 (CEST)

    Le message est:Votre Nom: jb gayetEmail: jbgayet@wanadoo.frTelephone: 0648173938Message: çàèéMessage de: Contact LUBERON

    any help very welcome 😉
    Thank you

    • Graham said:

      Me and JB have exchanged emails – seems like the problem is now resolved.

      If the email turns up looking like a dog’s dinner then the problem is problably your email client. All the plugin does is convert the form inputs into a message string and send it off. Just like every other email pluigin/script/form. What you may find is that some email clients don’t like HTML or you have blocked images or tweaked some other setting.

  47. Csongor said:

    Hi there!

    First of all: great plugin, great job done, absolutely love the rather minimalistic, straight to the point design.

    I have only question regarding the (excuse me if I am not that tech savy) “onclick” function. It drives me FREAKING NUTS when clicking on the text field, the field label disappears.

    I saw in the .php files that you can tweak it, but I am not that good and I don’t want to mess up things.

    So, please, if you would be so kind to tell me what can I do to turn this feature of, I am sure it affects the UX on my site.

    Thank you in advance for your answer, have a great day!

    • Graham said:


      Pleased you like the plugin.

      A text field has a different set of rules to a normal form field – I have no control over this. It’s not even really an ‘input’. As a result the label won’t reappear when you leave the field. It’s not something anyone else has commented on but I will take a look.

      I’m doing some upgrades at the moment so will see if I can find a solution.


    • Graham said:


      Download and install version 4.5 and everything works as expected. I hope.

  48. Justin said:

    I’ve installed 7 word press form plug-ins and yours worked for me. Love the fact that you can scale down the overall form size.
    I have a black background, so the “Thank you” message font is not visible since it’s hard coded to black. Can you tell me where I can change the code for this?
    Thank you,

    • Graham said:


      The plugin doesn’t define the font colour for the thank you message. It’s something in your theme colours.

      One work-aroud is to set up a thank-you page and send you visitors there when they submit the message. You do this in the ‘send’ options tab.

      What’s the URL?

    • justin said:

      Thank you! I will probably end up creating a a thank you page!


    • Graham said:

      Or you could use custom styles. On the styles page make sure the checkbox is selected and add the style: #qcf-style p {color: #FFF;}

      Save and see what happens.


  49. TJ said:

    Is there a way to add more fields? I need 2 more text fields. Thanks.

    • Graham said:

      You can add more text fields but not via the plugin. You would have to work your way through the php and add then to the various arrays. Not difficult but quite time consuming. If you want me to do this for you I can but not for free I’m afraid.


  50. Enio said:

    Thanks so much for your plugin, i really like it. I have a question to you. When I send to multiple addresses, I put a comma betweeen each address. But, is there a way to do it hiding addresses when sending to multiple recipients? Like a CCO? ….

    • Graham said:

      That’s an interesting thought. Adding lots of boxes for different types of recipients would be messy but I could add a checkbox for BCC (blind carbon copy).

      Let me have a play, mail('BCC: '.$qcf_email, $subject, $message, $headers); should work.

  51. Rich B said:

    Hi Graham,
    Thanks for this plugin. It is easy and very well explained which is especially appreciated by a pseudo wanna-be techie like myself.
    However, no matter how hard I try, there is a glitch or two. In this case, two. One is that there seems to be no easy way to make the form align center on my page. It always goes left. I tried putting it in a table that was aligned center, but the form still appears aligned-left. Two, the top “Name” box is slightly offset to the right.
    I don’t know if these glitches are in the theme or the plugin. Any suggestions would be greatly appreciated. Thanks.

    • Graham said:

      Aligning things in the centre is never easy. It works great for paragraphs and headers but is a right pain for everything else.

      The good news is that WordPress has built in styles you can use: alignleft, aligncenter, alignright:

      Try putting the form in a DIV with class=”aligncenter”

      Don’t know why the name box is offset. It’s probably some other style that has sneaked in. Can you send me the URL so I can have a look

  52. tupi-wala said:

    hello dear,
    i am using ur quick contact form & its simple awesome although having some problem. My problem is mail is not sending to my Gmail accounts. I have set another msn account and it works fine not working in gmail accounts. I used “,” to separate mail addresses. But still same problem. Please help!!

    • Graham said:

      If messages are getting to msn and other recipients but not gmail then you need to talk to your host. The may be restrictions on the PHP mail() function. It is a common problem with shared hosting.

      Sorry that I can’t help more but it’s not a problem with the plugin.

  53. David Main said:

    Hello Graham,
    Thanks for the simple yet versatile plugin – I was wondering if there is something I can add to #qcf-style – or anything that I could do, that would prevent the labels from disappearing when you click in a field to enter text? I realize that one solution is to reopen the page containing your contact form but apparently not all my visitors have that intuition. They’ve ended up not being sure of what the field was originally asking of them because they’ve clicked it away

    • Graham said:

      There are two ways to do this:

      1. Delete the quick-contact-form/quick-contact-form-javascript.js file
      2. Remove the lines: $myScriptUrl = plugins_url('quick-contact-form-javascript.js', __FILE__);
      wp_register_script('qcf_script', $myScriptUrl);
      wp_enqueue_script( 'qcf_script');
      from the plugin file.

      If you do click away without entering anything the field label should return. That’s how I wrote the thing. Can you send me a link to your contact page?

  54. Your name said:

    Grayham, me again. I think this is out of you control but I keep getting emails which have been created using the contact form that are spam for a supposedly funding organisation. I know we don’t have a capcha but would enabeling the question after number question help to stop robots and if so how does the question work? if I put text in the box it shows on the form but I can’t see how you can get some to answer it correctly .

    • Graham said:

      Hi Alistair,

      The captcha should block most of the auto submitters. If the visitor answers the question correctly the form will get submitted. If they don’t then they get an error message. There is a version of the captcha that uses images to display the sum but I’ve never got it to work properly.

  55. Sol said:

    Hi I installed the your contact shortcode on the frontpage of my website.

    Though it looks like the message goes, actually I don’t get any message/ email when I do some testing filling in the contact form.

    Seems there is no setting on the plugin page on wp backend to fix this. Should we check the code in editor?

    Please advise

    • Graham said:

      The problem seems to be with the hosting packages people use. The PHP mail function is restricted by your host so that emails to gmail, yahoo or hotmail get blocked. If you have a domain email ( it will work.

      There is a solution the other contact form plugins have use and it sometimes works. If you goto the help tab on the plugin settings page you will see the code.

      But I would ask your host first.

  56. Joe said:


    Love your plugin – very flexible and slides nicely into our theme.

    I have configured everything and it appears to work – entries show up in the Dashboard – but the email never arrives.

    I use “Configure SMTP” for sending messages as I cannot use the web host’s standard “localhost” SMTP.

    Please help!


    • Graham said:

      The problem will be with your hosting/email config.

      The plugin uses the php mail function which is a simple email submission thing. If you aren’t getting the messages it’s because of some thing on your server. I’d like to help but I have no idea how your server is configured.

  57. Svpmerci said:

    merci pour ce widget.
    le seul problème est la réception du mail.
    voici ce que cela donne :
    Content-Type: text/html; charset=”iso-8859-1?
    Content-Transfer-Encoding: 7bit

    The message is:Votre nom: cholletadresse: 2 bis rue ronsard 41500 merEmail: lotjfc@gmail.comTéléphone: 0631814305Caractéristiques: ibm hsprix: 30Message was sent from: Soumettre un produitSenders IP address:
    Content-Type: image/jpeg; name=”ibm1.jpg”
    Content-Transfer-Encoding: base64
    Content-disposition: attachment; file=”ibm1.jpg”


    j’ai essayé avec plusieurs adresses mails ( gmail ou yahoo ) toujours le même résultats

    merci de votre aide


    • Graham said:


      There was a bug in the code I had missed. I’ve uploaded version 4.1 and tested it with jpg,gif,png,doc,pdf using gmail, yahoo, webmail anf thunderbird. So it should be ok. Can you update the plugin and test it for me.

  58. Kron said:

    Thanks so much for this plugin, i really like it. However when i activate the validation in some fields like email or name in the published form inside a page only appear the fields without validation. Another thing is that in dashboard i can see the messages history but i never received any email.
    Do you have any idea regardin to this issues? thanks in advance.

    • Graham said:

      Not sure why the validation isn’t showing. Can you post your URL so I can take a look.

      The most common problem with emails not arriving is hosting restrictions. Many people using this and other contact forms have found that their hosts will only allow domain emails. Gmail, hotmail, yahoo etc all get blocked. Check with you host that their are no blocks on the PHP ‘mail’ function.

  59. Melanie said:

    I’m attempting to use your contact form builder as an RSVP for my wedding site. I have gotten it set up however once I submit it I am not receiving a notification to my inbox about it and I am not getting a confirmation on the page. Can you help me with this?

    • Graham said:

      How bizarre. Really not sure why you don’t see the reply. Do the messages appear on your dashboard?

      Edit: it turns out that their host was hopeless. The PHP was so out of date none of the contact form plugins worked! They changes hosts and all is hunky-dory.

  60. Ric said:

    Hi, love the plugin. not too simple, not too complex, just right.

    Been hacking with it as I wanted to set the width as a percentage not as px. so changed things in function qcf_display_form( $values, $errors, $whichpage )

    worked but the dropdown field was displaying as much longer than all the other fields

    so I changed $input = ($width – $padding – $whichpage) . ‘%’;

    to $input = ($width – $padding) . ‘%’;

    now the dropdown is only marginally shorter. what exactly is $whichpage ?

    • Graham said:

      Aha, you have discovered the magical ‘whichpage’. All this variable does is make sure both the preview form and the live form both display properly. If you remove it from your version and adjust the calculations the live form will be ok but the preview form will look a little wonky.

      Nothing I can do about this, it’s because of the way wordpress dashboard is styled.

      However, you might want to wait a day or two. I have a new version nearly ready for launch that allows custom styles (as well as redirections and attachments).

    • Ric said:

      Thanks for explaining. Cool look forward to the new version

  61. rocketjunkies said:

    I worked on wordpress sites developments and have download install quick contact form plugin, I like this plugin a lot and work well, I dont work much in php and dont do custom php developments, I want one help when we get a message in our mail from quick contact form. its shows like tile “Enquiry from sender name” there are option like post, page or sender name we can select from.

    But I need to add 1 more line in title to get this “Enquiry from sender name and subject” it should show in title.

    can you please help me and tell where I can do this to get the the title as mentioned.

    please reply as soon as possible and help me.

    • Graham said:

      If you want more in the email subject you need to edit the line:

      $subject = “{$reply[‘subject’]} {$addon}”;

      Change it to:

      $subject = “{$reply[‘subject’]} {$addon} {$values[qcfname9′]}”;

      The number 9 only works if you are using field 9 for your subject. If it’s not the right one then change the number.

  62. Muhammad Saeed Javed said:

    I want to redirect page after submitted form. I could find it in setting.
    Can you help me.

    • Graham said:


      Not something you can do just yet but it’s easy to implement. If you can wait a day or two I’ll release a version when you have an option to redirect or show the thank you message.

      Update: redirectionsd now included in V4

  63. Bob Vance said:

    Are there custom background colors available or is it only tan that I see?
    And can the size of the contact form be customized?

    • Graham said:

      Hi Bob,

      The background colour is set in the plugin CSS. You can change this in the plugin editor. Add your background colours to #qcf-style.

      I’m working on an update at the moment and have been fiddling with selectable background colours and lots of other enhancements. That should be done in the next day or two.

      As to the size. Go to the ‘form settings’ tab and down the bottom is a width setting thing.

      Update: you can now set the background colour using the plugin settings

  64. Mkojne said:

    Hello, first of all I would like to thank you, for the great and easy to use contact form :)

    I have an issue, and I don’t know if it’s related to the contact form or not. I hope, you could help me. The problem is – when user sends message, the copy that is send to e-mail doesn’t show some particular letters (website is in Lithuanian language). Where could be the root of the problem?

    • Graham said:

      Hi Mkonje,

      I’m not sure what the language problem is. All the validation does is remove HTML tags so the content should be exactly as it was sent. Can you use the form on this page and send me a message in Lithuanian so I can see the problem.

  65. Peter Bradley said:

    Hmm. The simple sum doesn’t seem to work too well. I just installed quick contact on a client’s site and got a spam email from the form within a day.

    Could I suggest you use the PHP rand() function to create random numbers between 1 and 10 (or even 0 and 10) in qcf_display_form()? Of course you then have to pass the numbers generated back to qcf_verify_form() in order to check the answer is correct.

    But I like the form very much, apart from that. Thank you.

    • Graham said:

      Hi Peter, thanks for the suggestion.

      I’ve been struggling with the spam checker for a while. I found a great maths checker that uses random images but I just can’t get it to work. However none of them will stop the human spammer – only the bots.

  66. Jeffrey Driver said:

    Thanks for the great plugin! All the others I’ve seen are needlessly complicated. Are you open to suggestions? I know that the beauty of this form is its simplicity but it would be great to see a reCAPTCHA option if possible, and to highlight a field that’s been incorrectly filled or have a permanent field label to help identify them.

    • admin said:

      Glad you like it. I’ve tried to make it simple to use as possible.

      I’ve added the maths captcha thingy as it’s far more usable and accessible than recaptcha but I don’t see a real problem with adding that options as well.

      As to the validation, the latest version does highlight which fields need sorting and (hopefully) tell you what needs to go there.

    • David Main said:

      Hi Jeffrey,
      I was reading your submission to about the Quick Contact Form.
      You said . . . “Thanks for the great plugin! All the others I’ve seen are needlessly complicated. Are you open to suggestions? I know that the beauty of this form is its simplicity but it would be great to see a reCAPTCHA option if possible, and to highlight a field that’s been incorrectly filled or have a permanent field label to help identify them”

      It looks like a permanent field label has not been integrated. Just wondering if you came up with a solution . . .
      David Main

    • Graham said:


      Recaptcha proved to be right pain in the bum to integrate. The maths spam blocker and all the other controls should block 99% of all known spammers. But I’ll have another look at this in the new year.


What do you think?

Compatible with

Compatible with WP4.2

Ask a question

Spambot blocker question

5 - 2 =

Web Analytics