Super Plugin Sale! Your Choice: BOGO or 30% Off »
Web Dev + WordPress + Security

WordPress Plugin: Contact Coldform

[ Image: Coldform Icon ] Welcome to the homepage for Contact Coldform, a secure, lightweight, flexible contact form with plenty of options and squeaky clean markup. Coldform blocks spam while making it easy for your visitors to contact you from your WordPress-powered website. The comprehensive Settings Page makes it easy to take full control with plenty of options and several built-in themes for styling the form. Coldform delivers everything you need and nothing you don’t — no frills, no gimmicks, just pure contact-form satisfaction. Now available at the WP Plugin Directory!


Contact Coldform had a good run (10 years!), but it’s time for something far better: Contact Form X. CFX is superior to Contact Coldform in every way. Contact Form X gives you all the same features of Contact Coldform, plus you also get a recent-email dashboard widget, GDPR options, inline docs, Google reCaptcha, and of course the contact form itself is all Ajax-powered and super awesome.

Contact Coldform = 2008–2018.
Contact Form X = 2018 & beyond..

I encourage all users of Contact Coldform to upgrade Contact Coldform to Contact Form X. You can learn more and download the plugin at the WP Plugin Directory. And yes, I use Contact Form X for my own contact form here at Perishable Press. </update>


  • Plug-&-play: display Coldform anywhere
  • Sweet emails: Coldform sends descriptive, well-formatted messages
  • Safe and secure: Coldform blocks spam and filters malicious content
  • Ultra-clean code: lightweight, standards-compliant, semantic, valid
  • Fully customizable: easy to configure and style via Coldform Settings


  • Slick, toggle settings panels make it easy to customize Coldform
  • Style Coldform using built-in coldskins or upload some custom CSS
  • Provides template tag to display Coldform anywhere in your theme
  • Provides shortcode to display Coldform on any post or page
  • Displays customizable confirmation message to the sender

Anti-spam & Security

  • Captcha: Coldform includes challenge question/answer
  • Bot trap: hidden input field further reduces automated spam
  • Secure form processing protects against bad bots and malicious input
  • User-friendly error messages help users complete all required fields

Customize Everything

  • Includes option to enable users to receive carbon copies
  • Coldform message includes IP, host, agent, and other user details
  • Customize form-field captions, error messages, and success message
  • Includes three built-in themes “coldskins” to style, or
  • Style the Coldform with your own custom CSS
  • Option to add a custom prefix to the subject line
  • Option to disable the captcha for registered users

Clean Codes

Coldform brings delicious code on every front:

  • Squeaky-clean PHP: every line like a fine wine
  • Crispy-clean markup: valid, semantic source code with proper formatting
  • Shiny-clean emails: Coldform delivers descriptive, well-formatted content
  • Better performance: conditional loading of stylesheet only when needed

More Features

  • Works perfectly without JavaScript.
  • Option to load CSS only when Coldform is displayed
  • Option to reset default settings
  • Options to customize many aspects of the form
  • Options to customize success, error, and spam messages
  • Option to enable and disable CSS styles

Installation and Usage:

Typical plugin install: upload, activate, and customize in the WP Admin.

  1. Unzip and upload the entire directory to your “plugins” folder and activate
  2. Use the shortcode to display Coldform on any post or page, or:
  3. Use the template tag to display the Coldform anywhere in your theme.
  4. Visit the Coldform Settings to configure your options and more info.



Template tag

<?php if (function_exists('contact_coldform_public')) contact_coldform_public(); ?>

For more information, visit the Coldform Settings page and readme.txt file.

Coldform Screenshots


As explained at the beginning of this post, I am retiring Contact Coldform. The plugin will be updated through 2018 or so, and will encourage all Coldform users to upgrade to the far superior Contact Form X. Check it out and download via the Plugin Directory:

About the Author
Jeff Starr = Web Developer. Book Author. Secretly Important.
USP Pro: Unlimited front-end forms for user-submitted posts and more.

160 responses to “WordPress Plugin: Contact Coldform”

  1. I’m astonished, wow !

    That plugin was my very dream not so long ago, and wow, now it’s real !

    Your introduction with the bullets list was very appetizing, but the screenshots of the markup, OMG !

    I’ve not seen a code so clean since the Mootools core maybe… it really recalls the WordPress slogan “Code is Poetry”.

    But all this joy was broken by some unintended fact : the download link is broken :(

    I hope you find a fix quick as i sure ain’t the only one waiting to try it !

  2. Perishable 2008/01/08 1:53 pm

    Louis — thanks for pointing that out! In my rush to go eat lunch, I forgot to double-check the download link..

    It should be working fine now! :)

  3. Okay, my feedback after 10 minutes playing with the plugin:

    • index.php to prevent directory listing ? I think that should be .htaccess’ work. Maybe you’ve put this file for novice users, after all why not.
    • localization is not doesn’t cover every area : the <legend> elements and the submit button text can’t be translated.
    • a way to deactivate certain fields should be given in the admin configuration page (I’m thinking of a checkbox next to the “Name (required)” (for example) fields.

    It’s a wonderful out-of-the-box plugin, with great information inside, and a clean presentation on the outside (the “footer” in the configuration page is very smart). Congratulations !

  4. Oh, my comment is all broken ! I used a HTML list (ul tag) and a legend tag between “the” and “elements”.

    Also, it would be very nice to have more space in the comment textarea on your blog, because it’s hard to write in such a tiny place. More width please :)

    (and a button to preview the comment ? Noo I’m asking too much :p)

  5. Perishable 2008/01/08 3:14 pm

    Yes, the index.php file was thrown in as a “just in case, why not” measure.. better safe than sorry. I see that you have a keen eye for localization — that is definitely something I need to work on.. especially given the diverse WordPress user base ;) Also, optional field exclusion(s) is a great idea — something I will plan on working into the next release. Overall, I am very excited about this plugin and appreciate your insightful and useful feedback. Now, on to that 404 management plugin I was telling you about.. ;)

  6. Perishable 2008/01/08 3:29 pm

    I tried “rescuing” your comment — let me know if it is not what you had intended..

    And, I totally agree about the need for more space in the comment textarea. As for the need for a comment preview feature.. well, I am still debating about that. For me, there is a fine line between performance and usability, however, I am thinking that I will go ahead and implement a live comment preview in the next redesign. As soon as I get to it — either during the next theme redesign, or even as a theme “update” — I will be slapping the comment area back into shape!

    Thanks for the feedback :)

  7. Your rescued my comment well, he’s now as first intended.

    Localization is a must have nowadays, but I think field exclusions is important too. I mean, a form with more than 3 fields often exhauste in advance the reader. He’s like “oh damn, too many fields, I’d better not write him.

    Glad to heard we’ll have more space to write here soon ! About the preview idea, you seem to have chosen to go with something “live”, but my opinion on is that a classic static preview would be fine.

    Or if you think live is better, I think a button would be nicer than a “letter by letter autoupdating live box”; a button that would create the preview dynamicaly on submit. It can be done really easily with Mootools (I prefer Mootools over the others libs, but they can do too).

    What do you think ?

    PS: damn, I want the 404 plugin !!

  8. Good point about field the field exclusions.. I have done that very same thing myself, where I decided not make a purchase or send information because it seemed like too much work. I will definitely be implementing some field exclusivity options in the next release.

    As for more comment space, I don’t know how exactly “soon” it will be — remember that 404 plugin I was telling you about? ;)

    Let’s see, live versus static for comment previews.. I will have to think about that one. I recall using the live preview option on my old Jupiter theme, and it seemed to work quite well. Although a static preview could be keen as well. – Hmmm..

  9. Hi,

    is there a way to use the Contact Coldform by puting the directly in the page template source instead of adding it to a post?


  10. Hi Andreas,

    Currently, the plugin requires either page or post in order to work properly. However, I will certainly look into enabling such functionality for the next upgrade. Thanks for the idea :)

  11. As I said elsewhere, this looks great! So clean – I wish my code looked like that!

    Congratulations – I’ll be trying it out when I’ve got the time..

  12. Excellent job on the plugin.
    May I suggest perhaps a simple improvement to address the field exclusion would be to provide css id for each of the respective fieldsets. Then the user could turn them off with just css.

Comments are closed for this post. Something to add? Let me know.
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience. Here you will find posts about web development, WordPress, security, and more »
BBQ Pro: The fastest firewall to protect your WordPress.
Crazy that we’re almost halfway thru 2024.
I live right next door to the absolute loudest car in town. And the owner loves to drive it.
8G Firewall now out of beta testing, ready for use on production sites.
It's all about that ad revenue baby.
Note to self: encrypting 500 GB of data on my iMac takes around 8 hours.
Getting back into things after a bit of a break. Currently 7° F outside. Chillz.
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.