Filled In Plugin
Filled In is a generic form processing plugin that will validate and store data submitted through forms. You can use it for any kind of data input, from simple contact forms on a blog to full-blown questionnaires on a business site.
The basic features of Filled In are:
- Customizable data filters and data processors
- Central data storage, with exports to CSV and XML
- Email reporting, with attachments and inline images
- AJAX support (forms always work in browsers without JavaScript)
- Built-in CAPTCHA support
- Built-in poMMo mailing list support
- Built-in file upload support
Read the history for a complete list of features.
Filled In is available in the following languages:
- English
- Italiano, thanks to Simone Righini
- French, thanks to Zesty
Installation
Installation is like any WordPress plugin:
- Download filled-in.zip
- Unzip
- Upload the
filled-indirectory to/wp-content/pluginson your server - Activate the plugin
Note that if you are upgrading from 1.5 you will need to reconfigure your forms. As much information as possible is retained, but the configuration details of individual filters and processors are not. You are advised to backup your data before upgrading, just in case something bad happens.
You can find full details of installing a plugin on the plugin installation page.
Using Filled In - The Basics
Filled In takes an existing XHTML form and routes all data submission through it's own routines, providing you with a consistent interface for managing form validation, data processing, and data storage. In order to route data you give the form an ID that matches a receiving Filled In form name (as created in the Filled In interface).
Create a Filled In form recipient, giving it a unique name.
Create a form (or modify an existing form) and give the form element an ID attribute that matches the Filled In form recipient name.
Look forward to a fully validated form!
Note that all messages and styles are fully configurable.
If you are unfamiliar with HTML and don't understand how this all fits together then don't worry, there are plenty of pictures and even a few movies that will hopefully explain everything. You can use any application you want to create the forms themselves (for example, Dreamweaver), and the only required action is that the form ID must match a Filled In form.
If you were paying attention to the above images you might have noticed that no action or method attribute was needed on the form. As long as the ID can be matched, Filled In will insert the required form attributes, making sure the form is fully functional.
Taking It Further with Extensions
Filled In provides a lot more than just being able to change form attributes. When a form is submitted, Filled In passes the data through several customisable layers. These layers perform all kinds of tasks from validating the data, to sending out email reports.
Each layer can have any number of extensions. Filled In comes with a selection of default extensions, and you can download or develop third-party extensions to perform any additional task yourself.
The default extensions are:
- Pre Processors
- Exclude/include fields - remove specified fields
- Must be logged in/out - the user must/must not be logged into WordPress
- Filters
- CAPTCHA - add a CAPTCHA image to a field and ensure the field contents match the image
- Checkbox/Radio - ensures a field is a checkbox or radio button
- File upload - limit upload size and file type
- Is Email - ensure a field contains an email address
- Is Equal/Not Equal To - A logical equality comparison
- Is Greater/Lesser - A logical comparison
- Is Numeric - Ensure the field is a number
- Is Required - Ensure a value is given
- String Length - Ensure a certain number of characters are given
- Word Count - Ensure a certain number of words are given
- Post Processors
- Send as email - send the data in an email with full templating, attachments, and inline images (courtesy of the super Swiftmailer)
- Send to poMMo mailing list
- Save to CSV - suitable for use with Excel
- Save to XML
- Save upload - move uploads into a directory of your choice
- Login to WordPress - take submitted data and use it to login to WordPress
- Register in WordPress - take submitted data and use it to register a new WordPress user
- Result Processors
- Display a message - simple give feedback to the user
- Redirect to a post or URL
- Redisplay input form - pre-filled with original data or empty
If a failure is detected on any layer then the progress of data is stopped, and a message displayed back to the user. Regardless of what happens, all data is stored, allowing you to not only review correct data, but to check what problems people have with a particular form.
The rest of these instructions will be based upon the concept of creating a contact form. Naturally you can adapt the details to any kind of form you want.
Further documentation
You can learn more about using Filled In by reading the documentation or the SDK. Details on certain extensions can be found on the extensions page.
Support
Please direct all support questions to the Filled In support forum. Any support questions left on this page may not be answered.
Bugs & New Features
| Date | Current outstanding bugs | Status |
|---|---|---|
| 09 Mar 2008 | Creating CAPTCHA filter not working | |
| 06 Sep 2008 | Downloading attachments |
A full list of all bugs can be found in the Filled In issue tracker.
A full list of all requested features can be found in the Filled In feature tracker.






Comments (page 8 of 13)
Oct 26, 2007 2:24 am
Hmmm. Hey John, any idea why when it's installed it kills the P formatting all through my site. I checks the CSS and it has nothing that would seemingly conflict....
Oct 23, 2007 1:28 am
A new version has been released which fixes a few problems (specifically the thank-you problem reported by Ed, Jeremie, and Alec), and includes a few new filters.
Ed, Miki is correct and your form must be XHTML in order for Filled In to detect the fields and fill the data back in.
Eddi, the plugin is not designed to work with the comments form.
Oct 20, 2007 4:21 pm
i don't know why this plugin, version 1.6.7, doesn't work on my wp blog 2.3 ...so i using
kubrick/dfault theme, and wanna use this plugin effect when someone forgot to fill his
username or email on the comment form. then, in the "Name" of "Form Edit" option, i adding
"commentform" (its the form element of kubrick/default theme), but it doesn't work
so, can you tell me how to fix it?
thanks
Oct 19, 2007 3:09 am
Hello John,
To follow up on Jérémie's post, I am having the same problem with the Result Processor's 'thank you' message. The problem exists across multiple sites, although the sites do have a common configuration (2.2.3, same long list of plugins).
We are getting [[filled_in application]] as a thank you message instead of our custom thank you message.
Here is an image of the error.
We didn't have this issue with version 1.6.2 - thank you messages worked fine.
Do you have any suggestions for resolving this issue?
For now we are manually creating thank you pages elsewhere on the site and using URL redirect, but it's a bit clumsy.
Oct 10, 2007 9:59 am
Great plugin!
Ed, I had in the same problem and to be filled out correctly when on error you need to end your input html fields with a slash /.
Would be nice that plugin have an option in every form to select if multi or single form is allowed as per user, then if single is checked the form should be pre-filled with last user entered data.
(Sorry for my english)
Sep 21, 2007 12:21 pm
More more questions. Can someone explain the use of Add to Wordpress Profile? I can only assume that this would add fields to the user's profile in Wordpress. What I don't understand is what to put in the following fields...
Data key
Append key
Logic field
Can someone explain. There is nothing in the documentation that I see.
Thanks.
Sep 21, 2007 11:39 am
How can I get a form to populate with fields when a form was not filled out correctly? For example, if email is a required field and they do not enter this but all the other fields the form returns telling them please enter a valide email address but all the rest of the fields and empty despite them filling these out already.
Thanks.
Sep 20, 2007 11:44 am
I think I ripped during when I submit the post, here it is:
Since I updated Filled in to the latest release (1.6.7)
I get something like [[filled_in form-id]] instead of the form.
This only happen if i want to use filled in on the front page (the gate of my site). My code to display a specific post containing filled-in form is like that
if (have_posts()) :
while (have_posts()) : the_post();
show_edit_link ();
the_title();
global $filled_in;
$text = $filled_in->text_to_form (apply_filters ('the_content', $post->post_content));
echo $text;
endwhile
endif;
Before my update to the 1.6.7 this was working perfecly (with Filled in 1.6.2)
Have any Idea ?
Thanx !!
Sep 20, 2007 11:37 am
Well it seeams that my code is not correctly displays... Here a simpler one.
global $filled_in;
$text = $filled_in->text_to_form (apply_filters ('the_content', $post->post_content));
echo $text;
Sep 20, 2007 11:33 am
Hi Jon,
Since I updated Filled in to the latest release (1.6.7)
I get something like [[filled_in form-id]] instead of the form, if you want to have filled in working on the front page. My code is:
text_to_form (apply_filters ('the_content', $post->post_content));
echo $text;
?>
This was working perfecly with Filled in 1.6.2
Have any Idea ?
Thanx !!
Leave a comment