Have you ever needed to build a website which fit into the “Posts & Page” paradigm of WordPress 95%, but also needed one or two bits of extra content? I often need to build sites that have a quote/testimonial or banner image tied to individual pages & displayed in the template separately to "the_content()". This is fine in WordPress as long as it remains a one-to-one relationship as it can easily be achieved with custom fields (and check out the More Fields plugin for handling this), but achieving a one-to-many or many-to-many relationship in WordPress requires some more dramatic extension.
To my knowledge there are two plugins for doing this. Flutter and Pods.
Flutter
I started out using Flutter as I hadn’t heard of Pods but found it to be clunky, buggy & unintuitive. When editing a content type (or write panel) created by Flutter it looks as though you are in the Post or Page section depending on where you placed your new content type. This is confusing and unnecessary.
The data types provided with Flutter are quite extensive (it even includes a colour picker). However, Flutter’s image upload control is buggy and I have experienced Flutter jumping to the wrong page, crashing Firefox and losing data. All-in-all I found it to be hard to use, missing key features and lacking documentation which meant I needed something else.
Pods
In essence what Pods does is turn WordPress into Drupal. It allows you to define your own content types with multiple fields for adding data so that you can use WordPress’ admin interface and templating system to manage whatever data you want, be it just additional testimonials, or a full-blown product database. It also allows you to define templates for displaying or listing data types & to write helpers and filters to handle the entry and display of complex data.
Pods’ integration into WordPress is much cleaner, meaning that content editing is much more intuitive than in Flutter. The many options for configuring filters and helpers has lead to a slightly complex admin interface, but one that is still highly usable. Pods also has considerably more documentation than Flutter seems to, although it is still lacking in some areas.
For me, the key bit of functionality which has made me love Pods is the PICK data type. It is essentially a drop-down list control, but instead of requiring you to define the options, it allows you to choose to list out other Pods, or WordPress objects such as Posts, Pages or Users. This means you can build relationships between your content items, and that you create blocks of content for your templates by linking pods to Posts or Pages.
One piece of functionality I needed but isn’t present is the ability to use a PICK to create a drop-down list of all Posts and Pages to choose one to link to. A PICK data type can currently only list out Pages OR Posts OR Users etc, but not both. It is also not possible to list out Attachments, despite them being stored in the same table as Posts and pages.
As I needed this functionality, I decided to implement it. I have added the ability to PICK from Attachments, Posts & Pages, Posts & Attachments, Pages & Attachments, or Posts, Pages & Attachments. Only two files were modified (manage_pods.php to add options to the select, and Pods.class.php to extend the if/else and SQL statements to choose the right data).
If you would like to use my modified version of the Pods plugin, I have made it available for download. Please first download the full Pods plugin and install it. Then download the podsmodified and upload them to the wp-content/plugins/pods/core folder. I haven’t done much testing on them but it seems to work OK for me, please let me know if you have any issues & I’ll endeavour to fix them.
So, with my extension, I have found Pods to be extremely useful in several projects. It is a very powerful and ultimately usable CMS solution. However, there are still a few areas where I feel it could be improved:
- The power of the PICK data type could be improved as explained above.
- I also feel that PICKs could be further improved by allowing users to specify a simple “enum”-like data type
- The documentation, although at extremely useful, could greatly benefit from more detail & in-depth examples
- The clunky image upload interface needs work
- The interface is usable, but introduces new elements not present in WordPress (namely famfamfam icon buttons) – by bringing at least the content-editing interface into line with the rest of WordPress I believe this plugin will really come of age
- There is currently no way to link to a Pod from a Post or Page without configuring the relationship from the Pod itself (it would be nice to be able to setup custom fields to select from Pods but not necessary as it can be done the other way around).
- There appears to be a bug in the PICK > Categories option
In summary, I believe the Pods plugin to be superior to Flutter and have found it more able to suit my needs. The PICK field type, filters and helpers make for an extremely powerful and expressive CMS and Pods integrates neatly with CMS so as not to confuse editors or clients, which is a key concern. I highly recommend the Pods plugin and look forward to seeing it mature as it has truly enormous potential.
Download Pods Modified!


28th Jun
Twitted by ErisDS pinged back:
[...] This post was Twitted by ErisDS [...]
29th Jun
Posts about plugins as of June 28, 2009 | All About WordPress pinged back:
[...] one get closer to paying off the debt. Free WP Plugins    29/06/2009 Yes Spotlight: WordPress Pods Plugin – erisds.co.uk 06/28/2009 Have you ever needed to build a website which fit into [...]
29th Jun
Duncan says:
Great insight Eris, thank you for this. I will be giving it a try – like you I have used Flutter only to be a bit disappointed as its not that easy to use.
Plugin’s like this are going to take WP into a higher level of web development, WP is great but as a full CMS it does lack in areas, all in all with 2.8 out and more people using it than ever WP looks set to have a rosy future.
29th Jun
Spotlight: Wordpress Pods Plugin | Musings of ErisDS | bllogger pinged back:
[...] the original post: Spotlight: WordPress Pods Plugin | Musings of ErisDS internet [...]
29th Jun
ErisDS says:
Pods really is on the right track. It has a little bit of maturing to do, but nonetheless it works and is easy enough to use. I really recommend you have a go with it, I’d be interested to hear what you think.
I absolutely love WordPress, and it is plugins like Pods that make it so awesome!
29th Jun
Scott Kingsley Clark says:
Wow, great article ErisDS!!
We love the fact that you have even gone as far as fixing the issue and adding more features :-)
1. We will be looking over your article and extended code for inclusion in an upcoming version of Pods
2. We will be fixing the bug with the Category PICK
3. We are working at finding a replacement File Uploader as well as an Image Uploader
4. We are working at getting the built-in WP TinyMCE as the new Editor
5. While Pods is still growing and growing in it’s followers and it’s features, we are still proud to say that we are making an impact every day. This weekend, I attended WordCamp Dallas 2009 and had a chance to find many Pods users among the attendees. A few of them came up to me and introduced some new feature ideas, all of which will make their way into Pods. We are a community, just like WordPress, and we will continue to strive to get WordPress to do everything you want it to do with Custom Content Types.
Thank you again for the great article, and be looking out for future Pods releases, as well as some new things on our website in the coming months.
29th Jun
@Ghazihudeihed says:
Its Great plugin
3rd Jul
Spotlight: Wordpress Pods Plugin | Musings of ErisDS pinged back:
[...] original here: Spotlight: WordPress Pods Plugin | Musings of ErisDS Tags: plugin Comments0 Leave a Reply Click here to cancel [...]
6th Jul
Jim says:
Hey,
Thanks for the great overview and review. I have been playing with Flutter and Pods this weekend and this verified some of my leanings and also filled in some gaps in my understanding of what Pods is built to do.
16th Sep
bobby says:
thanks for the info. I am going to install it and check it out. I couldn’t get there with flutter. Let’s hope that pods can help this non-programming, but determined person.
16th Sep
ErisDS says:
If you need any help, don’t be afraid to ask!
11th Nov
Tal Galili says:
Thank you for this great review article.
I wanted to help others that some of the issues you raised in the end of the post has already been fixed in pods, people can view updates here:
http://pods.uproot.us/version-history/
For example:
As of version 1.7.6 (10/27/2009)
IMPROVED: Brand new file uploader
Cheers,
Tal
28th Nov
Jowy Hurtado says:
“In essence what Pods does is turn WordPress into Drupal. It allows you to define your own content types with multiple fields for adding data so that you can use WordPress’ admin interface and templating system to manage whatever data you want, be it just additional testimonials, or a full-blown product database. It also allows you to define templates for displaying or listing data types & to write helpers and filters to handle the entry and display of complex data.”
Why not just use drupal? It’s a full blow CMS and it seems silly to try an emulate something that’s already been created, tested and proven. Seems like more of people just stretching WP into something it’s not.
28th Nov
ErisDS says:
The view that “Drupal is good for X” and “WordPress is good for Y” is very black and white. It seems a lot of people in the community think that way, but in practice it is a very grey world and you have to approach each project and it’s individual requirements, needs and nuances separately.
There is a lot of debate over whether WordPress is a “CMS” or “Blogging platform”. I would say that a “blogging platform” is a specific case of CMS, and that WordPress is a blog-focused CMS with additional benefits of being intuitive for end-users and being built to be flexible.
I have come across several projects which in the first instance appear to fit the WordPress “Posts and Pages” paradigm perfectly, however as the project evolves new requirement for “data types” emerge. Good examples are any news & information site which also has job listings or testimonials. Moving a whole project to a new CMS just to manage one small section of content does not make sense.
What Pods does is allow you to handle those additional requirements for data management within WordPress very easily. It is an incredibly powerful tool, but it is not a solution for every problem.
What I am trying to get across is that my description of “turning WordPress into Drupal” was just that, a description, to explain to readers the job of the Pods Plugin. Using the right tool for the right job is core to good development. That doesn’t mean the right tools can’t be flexible, particularly when it comes to grey areas and the middle ground where no one tool quite has everything you need.
9th Dec
Toon says:
We’ve been investigating WordPress for a few days now as a new CMS platform for our http://www.klasse.be websites. We’ve noticed over the last few years that our sites are moving in the direction of ‘news’ or ‘update’ based sites, ie blogs under a different name. We still have a lot of ‘static’ content in the form of contact lists, archived publications/articles, video content, etc.
I looked at Flutter to create custom content types, but although that plugin is very simple and intuitive to use, it’s basically just a pretty front end for custom fields. Which means all extra fields are stored in the infamous wp_postmeta table, and that’s not a very scaleable or neat way to handle things. Pods handles this a lot better via its own db tables.
The drawback is that -at the moment- pods are a bit isolated from the rest of the blog content. It would be great if the Pod write panels were more like the Post write panel, with the ability to add tags and categories just like with a post.
This ability can probably be hacked in somehow, but it should really be standard functionality.
Great review, and I must say I agree 100% with your remarks, both positive and negative.
11th Dec
Osborne Brook says:
WordPress is so mych neater, cleaner and user friendly compared to Drupal. Drupal’s admin is just horrendous and takes a while to grasp. Pods framework seems very promisssing and I am sure it will get better and better.
23rd Dec
Becca says:
I would agree that wordpress is more user friendly than drupal, however, it comes as a trade off with what wordpress is capable off. Both systems can be really useful depending on how you need to build your website.
23rd Dec
ErisDS says:
Absolutely: have to choose the right tool for the job. I find WordPress fits more often than Drupal but that is obviously affected by the type of work I do.
10th Mar
Buck Letman says:
You made several suitable tips there. I did a search for the subject and uncovered a number of individuals definitely will agree along with your site. Many thanks