I’ve been working with small groups for the last 10 years and one of the challenges has always been to provide good ways for people to sign up. Recently I started making online sign ups an option at a2 Church and thought some of you could benefit from our experience.
To start out I would make a new post for each small group. For the title of the post I would use the name of the small group. Then I would use custom fields for information that I would need on each group (childcare provided, leader’s name, location, day and time and so on). Custom fields may seem tricky at first, but they are really easy to use. You can find them on every page or post write screen, just below the main content box. Each one has a name and a value. The name is the type of information and the value is the specific information. For our example the name would be “leader” and the value would be “Bill Robbins.”
The first thing to do is to decide what information you’d like to display for every group. In my example, I use group leaders, day & time, location, group focus, and childcare. You may have others. Once you know the details you’d like to list for every group, here is the code you will need to call it.
<?php $recent = new WP_Query("cat=5&showposts="); while($recent->have_posts()) : $recent->the_post();?>
<h2><a rel="bookmark" href="<?php the_permalink() ?>"></a></h2>
<li>Leader: ID, "groupleader", true); ?></li>
<li>When: ID, "groupwhen", true); ?></li>
<li>Where: ID, "groupwhere", true); ?></li>
<?php endwhile; ?>
Here’s a quick explanation of the code. We are creating a query of all WordPress posts from a particular category, in this case category number 5 (that’s the category ID number where we place our groups). This will produce a list of all posts from that category. But it will be a specific list showing the Title (the name of the group in our case), the leader plus when and where the group will meet. This will all be outputted into a list that we can easily style with css if necessary. I generally place this after the loop so that I can introduce the list without having to hard code it. Now we’re not limited to just using “leader,” “when,” and “where.” We can use any bit of information we’d like. You just need to keep track of the custom field and you could easily add topics or whatever. Well this takes care of listing the groups, but now we need to make it possible for people to sign up easily.
When I first stated this, I used the cforms plugin from Delicious Days to create the sign ups. I would create a form for the first group, copy it and make one for the next group. Each new group got their own individual sign up form. While this worked, it was a bit tedious.
Last summer Gravity Forms was released and I immediately bought a copy and have used it for all my form related needs since. One of the features they’ve added recently was the ability to do email routing. Basically this means that you can email the completed form to different addresses based on how the form is filled out. So say someone signs up for the Tuesday Morning Men’s Bible Study, that leader gets an email with the registration directly from Gravity Forms. I don’t have to be the gate keeper for all the sign up information that comes through the web site.
All you have to do is create a form with check boxes for your groups. Once you’ve completed it, you will be presented with an opportunity to set up notifications. Select routing and then enter the group leaders email address to send the registration to when their group is selected. Then fill in the rest of the notification form and you’re set. This is actually so simple, when I receive sign ups at church, I actually enter them into the website as a way of maintaining a record of the registration and notifying the group leader. Some things claim to make administrative tasks easier, this actually does.
So this is how I go about creating dynamic small group sign ups at our church. It’s a great way to leverage WordPress technologies to lighten our administrative loads and leave more time for ministry.
If you’ve discovered a great way to do sign ups on your website share it with us in the comments.