Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Participants Database

Build and maintain a fully customizable database of participants, members or anything with signup forms, admin backend, custom lists, and CSV support.

How do I get the form to display? Where does the shortcode go?

Put the [pdb_signup] shortcode where you want your signup form to go.

I can't find the shortcode. Where is it?

A shortcode is a WordPress feature that lets you insert plugin content into your posts and pages. It is just a special bit of text that is replaced with the plugin content when the page or post is viewed. Just put this: [pdb_signup] into your page, and when you view the page, the signup form will be displayed.

What happens when someone signs up?

Their record is added to the database with the information provided in the signup form. Also, two emails will be sent (if you want) one to the admin to notify them of the signup, and also to the user to tell them they've signed up and also give them a private link to their record edit page so they can update or add to their record.

What do you mean by a users record edit page?

This form appears on the page where you have placed the [pdb_record] shortcode. It is another form where the record can be edited on the frontend.

An individual record can be edited on the frontend of your website by someone who has the private link to that record. The purpose here is to let people maintain their own records. It's also possible to put things like survey questions in the form so you can get feedback from people. You have complete control over what fields appear on this form. Fields can be designated as showing up on the signup form, on the frontend user's form, and on the backend admin form.

How do I delete all the records but leave everything else in place?

The best way to do this is to perform a "truncate" on the table. You'll need to get direct access to the database to do this, usually using phpMyAdmin, which is typically found in your hosting control panel. Open the database and find the main participants database table...usually called "wp_participants_database". Perform a truncate on that table only. The truncate command is found by selecting the table, then under the "operations" tab in the lower right.

What if I just want them to sign up and fill out all their info at that point?

OK, just assign all the fields you want them to fill out to the signup form (this is done in the "manage fields" page). That form can be as big as you want. Then, remove the private link from the email they get when they sign up.

How do I change the text "Participant Info" seen at the top of the single record page?

This is a group title. Groups are defined on the Manage Database Fields page under the "Field Groups" tab. You will see that each group has a title and a description that you can use to organize and label the ouput of the plugin.

How do I let people upload an image or file?

Go to the "manage database fields" page and create a new field for your image. Give it a descriptive name like "avatar" or something. Click "add field" and when your new field appears, set the "field type" to "image upload" for images and "file-upload" for other types of file. Be sure to check "signup" if you want it to appear in the signup form. When the form is presented to the user, they will be allowed to upload an image.

There are several settings you should look at before you go live with your uploads fields. Under the "General Settings" tab, you'll find: * File Upload Location - this tells the plugin where to put the uploaded files * File Upload Limit - this is the size limit in Kilobytes for your file uploads. Be careful not to put this too high, if you have lots of users, it could use a lot of space on your server! * Allowed File Types - this is a comma-separated list of allowed file extensions. You can also define this on a per-field basis. * Allow File Delete - if this is checked, the file will be removed from the server when a user deletes it.

Each file upload field can have it's allowed files determined in the "values" field on the Manage Database Fields page. For instance, if you want them to upload only a pdf file, put "pdf" in the values field for that field. The maximum size is determined globally in the settings only.

When someone signs up, are they now users on my WordPress site?

No, these signups and records are separate from people who can register on your site as users. If there are things only registered users can do (such as a forum or comments), they will have to register or sign in as usual.

The idea is to use the database as a roster of volunteers, supporters, etc. for the organization, not the website.

If you are interested in having this plugin work with WordPress users, read this article: Using Participants Database with WordPress Users.

People are signing up, but emails are not getting sent

Use my Email Troubleshooting Flowchart to help you diagnose the problem.

Of course make sure your settings are set to send emails.

The most common reason emails are not being sent is because the WP application cannot send email. If you are having this problem, I suggest you install an SMTP plugin (like WP-Mail-SMTP) and use that plugin to test your email sending. Sometimes it is necessary to set up and use SMTP (which is not the default on most systems) to successfully send email.

Another common source of email trouble is other plugins that send email. It is not uncommon for such plugins to "hijack" the WP mail function and this can break it for other plugins. Try turning off other plugins that send email to see who the troublemaker is.

Finally, your emails may be getting caught in spam filters. If you find the plugin's emails in the spam folder, using a "from" email from the same domain as the site can help. If you are using HTML email (the default) keep it short and don't include lots of links, images or spammy words.

I don't see anything on the page where I put the `[pdb_record]` shortcode. What's up?

The form will only appear if someone uses a valid private link to access the page. All that's required for a private link is a valid "pid" value has to be included in the URI. (it looks like "pid=TH65J" in the link) This code can be seen in the record if you want to make your own links.

I don't want Administrative Fields showing up on the user's edit record page. How do I control that?

You can control which groups of fields show up in the frontend record edit screen (the one with the [pdb_record] shortcode) by going to the "manage database fields" page, clicking on the "field groups" tab and deselecting the "display" checkbox for those field groups you don't want shown on the frontend.

I want people to provide their email when they sign up, but I don't want that information showing to the public

It's a good practice to use field groups for something like this. Place all your "don't show to the public" fields in a group with it's "display" checkbox unchecked. This will prevent those fields from being shown in record detail pages, and also the signup form, but you can force them to display by specifying in the shortcode which groups you want included. The normally hidden groups will be included, but only those fields marked with the "signup" checkbox will appear.

For example, let's say you have two groups: 'public' and 'private.' The email field is in the private group because you don't want it displayed. In the signup form shortcode, specify the groups to show like this: [pdb_signup groups=public,private] Now, both groups will be included in the signup form. Remember, only those fields marked as "signup" fields will be shown.

I don't want group titles showing in the forms, how do I do that?

The easiest way to do this is to simply blank out the title for the group.

What if someone loses their private link?

You can show a "Resend Private Link" link on your signup form, just check "Enable Lost Private Link" under the "Retrieve Link Settings" tab. You must define which field is used to identify the record. This must be a unique identifier, usually an email address, but it could be anything. The rest of the settings for this feature are under that tab.

It's also possible to send them the link again in an email, but the plugin does not currently provide a way to do this. You will have to sent them a link to the edit record page (the one with the [pdb_record] shortcode), adding their code at the end of the link like this: ?pid=RH45L (using whatever the code for their record is.) The code is visible when you view the record from the "list participants" page.

Is it possible for users to upload files?

File uploads use the "file upload" field type. You should define a set of allowed file extensions in the settings: "allowed file types" under the "general settings" tab.

My site is not in English and searches using non-English characters are not working properly.

If you have a non-English site, you should convert your database to the correct "collation" for your language.

I'm seeing strange characters in my CSV export. What's going on?

The plugin exports it's CSV files in "UTF-8" format. Make sure the program you're using to read the file knows this...it should detect it automatically, but can fail under some circumstances. Often this can be set on the import screen of the spreadsheet program when you open the CSV.

Is the private link to an individual record secure?

It is what I would call "reasonably secure" in other words, the private code in the link is not easily guessed. It can be sent in an email, which is not secure, but emails getting compromised is not that much a risk for most of us. The level of security is reasonable for the kind of information it is designed to store.

Therefore, this plugin is absolutely not for the storage of any kind of information requiring good security such as credit card numbers, passwords, social security numbers, etc. And I certainly couldn't be held liable if someone were to irresponsibly use the plugin for such a purpose.

Can I make links in records clickable?

Yes, there is a plugin setting called "Make Links Clickable" that scans the fields looking for something that starts with "http" it will then wrap that in a link tag so it will be clickable. It will also render email addresses clickable.

There is also a form field type called "link" that lets people fill in a URL and also give it a text label such as "My Website" that will click to the URL.

Is a CAPTCHA available for the forms?

You can define a "captcha" form element which will show a simple math question for the user to answer.

Requires: 4.0 or higher
Compatible up to: 4.7.3
Last Updated: 2 weeks ago
Active Installs: 10,000+


5 out of 5 stars


27 of 85 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

0,1,0 0,1,0
0,1,0 100,1,1
100,2,2 100,1,1 100,2,2 100,1,1 100,1,1 67,3,2 100,1,1 100,2,2 100,3,3 100,6,6 100,1,1 100,4,4 100,2,2 75,4,3
100,10,10 50,2,1
100,1,1 100,3,3 0,1,0
100,2,2 100,1,1 100,10,10 0,1,0 100,6,6
100,4,4 50,2,1 100,1,1
100,3,3 100,1,1
100,1,1 100,1,1 100,2,2
100,1,1 100,1,1 75,4,3
100,7,7 100,1,1
100,1,1 100,5,5
67,3,2 100,2,2 100,1,1
50,2,1 100,1,1 100,1,1
50,2,1 100,1,1
100,1,1 100,1,1
100,1,1 50,2,1 100,2,2 100,1,1 100,1,1