Good afternoon class, settle down – today we will be performing a dissection…

Not a gross one on a frog or something equally yucky, mind – I’m going to give you an overview of the component parts that go into this – the City of Lincoln Council ePetitions system. I was going to do a chat about this at UKGC11 but got waylaid with talking about film making.

Anyway, what is this system? Put simply, it allows citizens to go online and engage through the medium of petitions. They can create new petitions, check out the results of old petitions and sign currently running petitions. There are a number of off the shelf and open source solutions out there which can do this, but I thought it would be interesting (and cost effective) to see if we could use our WordPress platform to do so.

How did we achieve this? The system itself is the sum of many components, from plugins to clever theme modification. Let’s split it down into the core functionality.

Display petitions

Easy peasily done, as the theme shows all “petitions” (WordPress posts in this case) and the homepage is filtered to only show posts where comments are open. Why comments? Well, in this case comments represent…


Yep, we’ve altered the template so that when someone signs a petition what they are really doing is leaving a comment. We use the email address of the user as a check and hardcode the word “Signature” into the comment content; this stops them signing more than once (of course they could use a different email address).

We use a plugin called “Comment E-Mail Verification” so that people have to confirm their “Signature” with a link sent to them via email.

We don’t show signatures, only the count; this was a decision made internally. We developed a custom plugin called “Disable Comments Feed” which disables the comment RSS from discovery, hiding the signatories even further.

Auto Expiring Petitions

This isn’t something done with standard WordPress function, so we use a plugin called “Comment Timeout” to automatically close petitions (close comments) after 30 days (this can be overwritten if necessary).

Browse Petitions

Standard WordPress functionality using categories to mark the petitions and make them browsable. The user selects the categories for their petition when they submit it. How do they do that…?

Submit New Petition

They use TDO Mini Forms; with this plugin, we can include a form on the site which allows users to submit their own posts. They enter the relevant content, their details, select the category, complete the Captcha and hit submit. This then goes into an approval pool with our committee services team who use the TDO section of the WP-Admin screen to approve or decline petitions.

Simples. It was quite a straightforward system to put together and shows just how flexible WordPress really is. Obviously we don’t have any live petitions on the site, but that’s now down to the users!