Participants Database 1.5 WordPress Plugin

what’s new in 1.5

There’s lots of improvements under the hood, and a list of new and better user features too:

Plugin Overview

This WordPress plugin is for the purpose of creating a database for use in a WordPress site. It is primarily intended as a way to manage information pertaining to people such as the members of a club or team, volunteers, students, anything like that. It gives you the ability to allow people to create and edit their own record while additional information can be managed by administrators or managers. The plugin may also be used as the basis for an index, directory or catalog.

>> Quick Setup Guide

The database is made up of fields, and each field may be one of several types that are uniquely suited to store a particular kind of information. These fields can also be divided into groups to help organize the information. Fields can also be provided with help text to assist users in providing the information.

Please read the documentation fully, as this is a complex plugin that can be used in a lot of different ways.

I have created a page that gives a step-by-step method for setting up a typical application of the plugin. I suggest you begin with that, it will help you understand how the plugin works and also give you a working baseline so you know the plugin works on your site. You can make your modifications to the plugin functionality from there.

Next… Using The Participants Database Plugin


I have the attached code in the header and have tried all kinds of variations on the action. The first two functions work fine so, I know the JQuery is working and I know I have the input checkbox selected properly.

$(function () {
$('#pdb-dance_inc_setup').change(function () {
$(function () {
$('#pdb-print_ready').change(function () {
if ($('#pdb-dance_inc_setup').is(':checked')){

by Alan Kmiecik on April 22, 2014 at 11:45 am. Reply #

#pdb-dance_inc_setup = ID of the checkbox (got IDs by viewing source)

.field-group:nth-of-type(5) = picks the 5th field group defined in the plugin settings

#pdb-print_ready = ID of another checkbox

First two functions hide a field group unless the box is checked. The last form function is the one that does not change the action to go to yahoo (using that for testing)

by Alan Kmiecik on April 22, 2014 at 11:49 am. Reply #


Just a note that using “nth-of-type” to select a field is easily broken by any changes to the form. It’s more robust to identify the fields by name: $('input[name="first_name"]')

by Roland on April 22, 2014 at 12:18 pm. Reply #

Thanks, just figured that one out this morning along with another script that ain’t working. Then it hit me: could be theme, could be server (I got odd server stuff going on).

(second one has to do with counting characters in a textarea field).

I’ll post any success I have.

by Alan Kmiecik on April 23, 2014 at 2:45 am. #

Could you point me in the direction of where the action is for the form? Stackoverflow help mentioned something that leads me to think it may be an order thing and putting the jquery in the template header is too early. Thanks.

by Alan Kmiecik on April 23, 2014 at 6:32 am. #

With javascript you always have to wrap it in a function to wait until the page is done loading. That way, it doesn’t matter where the code is. Most examples of jQuery will show how to do this. I usually use

// put your function here, you can use the $ for jQuery methods

The “action” attribute of the form is like any other element attribute, it tells the browser where to go when the form is submitted. You can set that attribute with something like: .attr('action', 'action URL')

by Roland on April 23, 2014 at 7:03 am. #

Thanks for the suggestion will look into it.

by Alan Kmiecik on April 22, 2014 at 8:47 am. Reply #

First, thank you, this plugin it stupid cool.

Is there anything built in to allow multiple column input forms?

by Alan Kmiecik on April 21, 2014 at 3:03 am. Reply #

Yes, it’s possible, but you need to use a custom template. There’s an article on how to set up custom templates here…if you start with the “bootstrap” template, you can get the fields to line up as columns with the appropriate CSS.

by Roland on April 21, 2014 at 6:30 am. Reply #

I ended up plopping css in page that looks like this:

.form-table {width: 100%;}
.field-group:nth-of-type(1) {position: absolute; top: 100px; }
.field-group:nth-of-type(1) .helptext {width: 400px; }

.field-group:nth-of-type(3) {position: absolute; top: 100px; margin-left: 50%; }
.field-group:nth-of-type(3) .helptext {width: 300px; }

by Alan Kmiecik on April 21, 2014 at 2:58 pm. Reply #

With the CSS changes to make the table two columns, the space for validation errors is now under the first field. I’d like to give the validation errors a solid background and place it on top but can’t find the proper class.

Also, I’d like to add a checkbox that sends users to a different page upon submit. I found the attached code but can’t figure out what to use for form name. Any help would be great. Thanks.

by Alan Kmiecik on April 21, 2014 at 4:45 pm. Reply #

begins script

by Alan Kmiecik on April 21, 2014 at 4:46 pm. #

(one last try on the code)

function updateRedirect() {
if (document.form_name.check_box_name.checked){
document.action .submit();

by Alan Kmiecik on April 21, 2014 at 4:47 pm. #

Alan, I suggest you use jQuery to accomplish this, it’s a lot easier, but it will take some study to understand how it works. The part you’re not getting is selecting the specific elements on the page you need to work with.

Also, you’re not redirecting, you’re just changing the “action” attribute of the form element.

Anyway, this isn’t a general javascript/CSS support forum. I’m happy to help with problems and setup for the plugin, but these kinds of questions are better posed in a general forum like StackOverflow.

by Roland on April 22, 2014 at 7:15 am. #

The class to change the validation error is .pdb-error but, for some reason, background-color does not work. (float and border did).

by Alan Kmiecik on April 22, 2014 at 1:05 am. #

Roland, tried to do the JQuery as you suggested. Wasted about five hours only to find out that there something in the plugin that prevents it from working.

Can do all kinds of form actions with JQuery except get it to go to a different page based on a checkbox.

Seems like it would be good feature to have.

by Alan Kmiecik on April 22, 2014 at 11:12 am. Reply #

Pretty sure it’s possible. Just have the checkbox change the “action” attribute of the form, then submit it.

by Roland on April 22, 2014 at 11:26 am. #

What a powerful Tool! My only question is this: can I use multiple search criteria in conjunction to search the database. For example, search the database by name, zipcode and state simultaneously to get a more refined list.

Is that possible?

by Jonathan Donley on April 16, 2014 at 12:57 pm. Reply #

Possible, yes…but until I can find the time to add this capability (not going to happen soon…) you’re on your own developing a custom solution.

by Roland on April 16, 2014 at 1:13 pm. Reply #

I’ve managed to get the edit page working, although I’d like to remove the ‘Participant Info’ heading and stop the edit field from appearing as part of the form – is there a way to do this?


by Tim on April 15, 2014 at 7:36 am. Reply #


Take a look at the “field groups” tab on the manage database fields page.

I don’t know what you mean by “edit field” so not sure how to advise there.

by Roland on April 15, 2014 at 8:22 am. Reply #

Thanks for that Roland, yes, that’s managed to take care of the ‘Participants Info’ heading – the edit field is the field added for the editing functionality to work, your instructions state that you need to add a field called edit_link, I’ve currently got this as a text field which is showing up as another text box on the edit page – it’s this I want to remove from the edit page.


by Tim on April 15, 2014 at 8:50 am. Reply #

OK, there are several ways to do this, but one way is to explicitly name the fields you want to show on your record edit page by listing them in the shortcode using the “fields” attribute.

by Roland on April 15, 2014 at 10:07 am. #

Roland, have you got an example of using the fields attribute with the [pdb_record] shortcode, I’ve tried Fields=”, “, but that isn’t working.


by Tim on April 16, 2014 at 1:54 am. #

It’s in the documentation…something like this:

[pdb_record fields="first_name,last_name,email"]

If it’s not working, make sure the names of the fields are correct.

by Roland on April 16, 2014 at 6:39 am. #

Great, thanks Roland – couldn’t find it in the documentation, is working a treat now.

by Tim on April 16, 2014 at 10:34 am. #

Hi, I’ve managed to create an edit page as per instructions, but the edit link field is not appearing as a link on my search page. I have had to customize my search page quite a lot to get it to display correctly and I think this is what is causing the problem, my current search page code is below, would you maybe know why this is not working?

global $current_user;
[insert_php] echo do_shortcode(‘[raw] [pdb_list search=true suppress=true sort=true display_count=true template=detailed list_limit=10 filter="user_login=' . $current_user->user_login . '"][/raw]‘);[/insert_php]


by Tim on April 15, 2014 at 12:02 am. Reply #

It’s ok, got this working now – it was the template=detailed line which was stopping the edit link from working.

by Tim on April 15, 2014 at 3:34 am. Reply #

Leave your comment

You can use these XHTML tags: <strong> <em> <code> <pre> <a href="" title=""> <img src="">


Required. Not published.

If you have one.