Latest TweetsDifference between mod_alias and mod_rewrite…
Perishable Press

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:

Jeff Starr
About the Author Jeff Starr = Fullstack Developer. Book Author. Teacher. Human Being.
160 responses
  1. Dick Kirkland November 18, 2009 @ 8:15 am

    Hi Mr. Starr,

    The plugin seems to install great and I think I just have a WP server specific change to make. I noticed in #104 above, the user cited changing the mail() calls to wp_mail(). I’m wondering if I need to do this to the plugin files, as I normally receive email from the WP instance when a new user is added, etc.

    Any insight on what code to edit to check out this hypothesis would be greatly appreciated.

    Thanks in advance.


  2. Dick Kirkland November 18, 2009 @ 9:36 am

    Maybe the better question to ask is why do I receive email from basic WP processes, (ex. adding users), but not coldform?

    I thought they were handled by the same mail() functions in php.ini

    Thanks in advance for your help.


  3. Dick Kirkland November 18, 2009 @ 12:41 pm

    I feel really dumb, but I didn’t have the first few fields filled out in the plugin’s UI. This caused my spam blocker to keep me from seeing the emails. I went to great lengths even using the WP SMTP Mail plugin’s configurations. Sorry to bombard this venue with so many posts.

    If it helps anyone else, I’m using 2.8.6 and left the mail() functions as they are in the plugin’s code.

    GREAT PLUGIN Mr. Starr, with the ability to style it up.

    Thanks so much.

    Keep up the great work.

    Maybe the next version can have a choice for multiple recipients in the UI?
    I saw a thread on how someone else was altering certain files to achieve this, but who wants to do that outside of coldform. :)?


  4. Jeff Starr

    Glad to hear you got it sorted, Dick. Thanks for following up with the solution — for plugins I think too much information is better than not enough ;)

    Good idea about integrating the multiple-recipients functionality into the plugin itself. As soon as I can set aside some free time, I will look into setting it up.

    – Jeff

  5. andrew j talcott November 22, 2009 @ 12:44 pm

    is there a way to turn the security question off?

  6. Dick Kirkland November 23, 2009 @ 9:29 am

    Hey Jeff,

    No prob. I agree about the information sharing.
    Who knows, maybe someone will have the same mistake as me.
    Thanks for your efforts on this great plugin and attention to users’ concerns.
    Have a great day.


  7. Hey Jeff! How are things?

    I’m relaunching my site and am looking for a good contact form solution. Is there a way I can add the coldform to the .php file? <!--coldform--> is ignored whenever I put it in the file.

    Thanks for your help, once again!

  8. Thanks Jeff for this great plugin! Before I found your plugin, I was using some other contact form plugins and I was never happy with them. Then I found your plugin and I replaced the old contact form plugin with yours.

    Also, it is the most light of the previous ones! :)


  9. Jeff Starr

    @andrew j talcott: not in the current version, but you could always hack the coldform.php file to disable it until the next version.

    @Simon: have you tried just calling the coldform function directly? I think that should work.. something like this in your theme file: <?php contact_coldform(); ?>.

    @Mezanul: awesome! Glad to hear it – thanks for the positive feedback :)

  10. Hi have to tried calling the coldform function directly but not work? Help me?

  11. Jeff Starr

    @Marco: are you calling the function from within the loop?

  12. using 2.9.1 i get a “The plugin does not have a valid header” when i try to ACTIVATE the plugin (the install it says was sucessful, though it doesnt show up as a deactivated plugin after activation fails)

[ Comments are closed for this post ]