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.

  • fixed bug where readonly fields were not saved in the signup form

  • added support for setting the "target" attribute in templates #1363
  • readonly form fields can be used in the signup form

  • aux plugin access level is now filterable
  • improved user feedback on admin list operations
  • fixed settings page bug in PHP 7 #1443

  • improved compatibility with email expansion kit
  • forward compatibility with PHP 7

  • replaced missing script

  • fixed syntax error for sites running PHP 5.3 #1423

  • added filter for modifying the record edit URL #1426


  • new "with selected" edit feature in admin list #1416
  • developer ads can now be disabled #1418
  • long TLDs in emails now validate #1413
  • attachment handing in the PDb_Template_Email class #1412
  • plus signs in search terms #1406
  • avoid printing label tags for empty titles in record and signup forms #1397

  • fixed duplicate field bug when adding new record #1411

  • fixed bug saving timestamps in the admin when using a display format PHP can't natively parse #1408, #1409

  • last_accsessed value left untouched when editing the record in the admin #1405
  • readonly dropdown fields now use value title #1404
  • total shortcode field value summing bug fixed

  • aux plugin option passed through translation filter #1358
  • edit_record_page shortcode attribute fixed #1387
  • fixed file and image field display bugs #1391, #1393, #1390
  • help text shown in read-only fields

  • fixed bug that prevented regex validation from allowing a blank value

  • fixed bug that affected installations with very large (>100) field counts #1373
  • fixed bug affecting some values stored as 3-d arrays #1365 #1372

  • fixed bug in date parser while using intl date parser #1367
  • replaced anonymous function in version check #1357
  • update notice detail now shows complete and current information #1355

  • fixed bug in date parser while using intl date parser
  • replaced anonymous function in version check
  • update notice detail now shows complete and current information

Version is a bugfix release for all users * fixed bad call in regpage_setting_fix Bug #1317 * added pdb-form_element_html filter * JS bug in aux_plugin_settings.js Bug #1352 * better implementation of HTML5 client-side validation for aux plugins * read-only field can now be used for private link recovery #1342 * added Participants_db::write_participant API method #1353

  • fixed settings class warning on plugin first activate #1346
  • record_edit URLs in emails #1343
  • email obfuscation leaves un-obfuscated email visible if linking is off #1344

  • fixed private method access issue for PHP version 5.3 #1323
  • gracefully handles servers that don't allow remote URLS opened as files #1324
  • added Participants_Db::do_action method

  • fixed reference to $this in anonymous function #1321
  • template class now properly handles array values #1321
  • apostrophes and quotes in search terms were failing in some cases #1319
  • global $post access should be checked for availability #1318
  • plugin setting initialization issue with new installs #1322

  • added Belarusian translation
  • updated German/Swiss German translations
  • fixed incorrect update/import record counts on CSV import #1290
  • list search/sort/pagination now uses JS scroller when AJAX is enabled #1299
  • fixed bug in the PHP version checker #1309
  • bare https links now get the correct linktext #1311
  • password field is now blank instead of trying to show the hash #1315

  • bugfix restores missing settings submit button

  • fixed issue where the private ID was not saved if the user wasn't logged in #1303
  • added setting to suppress scroll anchors (fragments) in pagination links #1298
  • fixed list query error with multiple search terms #1302
  • allow dropdowns and other single-value fields to be used as the primary email address #1301

  • fixed issue where the private ID was not saved if the user wasn't logged in #1303
  • added setting to suppress scroll anchors (fragments) in pagination links #1298
  • fixed list query error with multiple search terms #1302
  • allow dropdowns and other single-value fields to be used as the primary email address #1301

  • Fixed issue where default email headers were used instead of the plugin settings #1296
  • fixed bug where the CSS error maker for a match field wasn't cleared when the field value is a match #1293

  • fixed data-offset bug in admin list #1289
  • fixed CSV timestamp import bug #1292
  • fixed non-working single_record_link attribute in list shortcode #1291
  • fixed bug in template class that made stored values unavailable in some contexts #1287


  • adds numeric field type
  • adds support for add-on plugins
  • refactoring and standardization of email-related code
  • refactoring of all date-related code
  • Further adjustments to time rendering to compensate for difference between server and local time
  • added pdb-shortcode_present hook, several other useful hooks and filters
  • all display strings are passed though a gettext call, but only if the global PDB_MULTILINGUAL is set to true
  • plugin cleans up it's own transients and options
  • alternate directory structures are now supported automatically
  • improved messaging on setting up upload preferences
  • enforced minimum PHP version 5.3
  • single and record query var names are now user-alterable
  • improved date parsing
  • fully implemented template email class
  • aux plugin update support
  • list shortcode filter values can use & | reserved characters
  • added support for 'search_fields' list shortcode attribute
  • image data caching for better performance
  • added API filter to rich text processor
  • API filter for multiple field matches on new records
  • API filter pdb-captcha_validation
  • API filter pdb-before_admin_delete_record triggered on record delete
  • added 'pdb-initialized' hook for use by aux plugins
  • replaced use of get_currentuserinfo()

  • fixes broken AJAX search on some systems
  • valid timezone setting is enforced
  • prevents activation if PHP version is less than 5.3
  • several minor bug fixes

fixes bug where list pagination drops search

bug fixes: * field/groups deletions in some translated versions * email sending with multi-page signup forms * showing time with timestamps in the admin * otherselect when more than on per form * dynamic fields getting re-set in record edit form * strict search setting

new: * added "multi-dropdown" form element * several efficiency optimizations, wider use of data caches * allow use of "simple" multi-field frontend searches

fixed issue where remote search controls weren't targeting the correct list instance

bug fixes: list pagination not refreshed with AJAX searches missing object in PDb_Update_Notices class fixed db error when user search overrides shortcode filter

implemented -1 list_limit value to show all records

bugfix: CAPTCHA not showing previous solution CAPTCHA help text not shown horizontal scroll setting on admin list

added top scrollbar to horizontal scroll elements in admin

fixed bug with dropdown- and checkbox-other fields


bugs fixed: slashed numeric dates not parsing correctly total shortcode not totaling data default images broken value titles not shown in lists


minor bug fixes


  • database optimizations for large data sets
  • scripts and stylesheets loaded only on active plugin pages
  • code support for multilingual sites
  • improvements to multi-page form handling
  • improvements to internationalized date handling
  • bug when using a single-field form fixed
  • plugin now supports custom translation files and most translation plugins
  • CSV import now allows delimiters and enclosures to be set by the user
  • better support for values titles in search results
  • better support for custom search forms
  • new shortcode attributes for forms: "autocomplete", "edit_record_page" and "submit_button"
  • improved security on user input and form submissions
  • improved security on admin functions

  • security patch for CSV download
  • added Ukranian translation

  • compatibility with WP 3.9 and PHP 5.5
  • plugin admin menu visibility now controlled by plugin admin roles

  • fixed checkbox lock bug

  • fixed transaction errors when MySQL is in a strict mode
  • checkboxes may now use value titles
  • AJAX search response now uses template defined in the shortcode

  • added otherselect.js to handle dropdown/other fields
  • fixed bug in dropdowns when value is numeric 0

  • readonly displays for dropdowns, radios and multiselects
  • record updates leave private ID unchanged
  • new setting to enable alternative sessions management if PHP sessions is not working
  • fixed bug in PDbTemplate class that would return empty fields in a list

  • undeclared property $readonly_fields error (this time for sure!)

bug fixes:

  • undeclared property $readonly_fields error
  • record updates not getting timestamp set
  • problem with list search results not coming in in some cases
  • readonly fields in form context now have "readonly" attribute instead of "disabled"
  • record form now shows captcha if named in the shortcode "fields" attribute
  • checkbox series now completely wrapped in checkbox group wrapper

Added Serbian translation

  • field group tabs use group name if no title is defined for the group
  • HTML entities can be used in all field option ("values") definitions
  • fixed long field/group name bug. Names can be up to the maximum 64 characters
  • cleaned up plugin function spillover into other admin pages
  • better compatibility with pre-3.8 WP installs
  • signup and record shortcodes won't try to validate unincluded fields
  • all form submissions are validated for all users except plugin admin in the admin section
  • in admin, last used settings now retained: sort field, sort order, search field, search operator
  • better support for multi-page forms, user can't complete form by going back to the first page
  • links and other HTML now allowed in field titles and help text
  • field option titles used in all contexts


  • more visual compatibility tweaks with 3.8 WP admin redesign, dashicons
  • bug fixes
  • plugin classes are now only included on pages with plugin shortcodes
  • settings page feedback messages working
  • fixed possible class/function collision with other plugins using WP_Session
  • now compatible with HTML5 form element types
  • bulletproofing, collision avoidance



  • admin compatible with WP 3.8
  • plugin no longer relies on PHP sessions
  • better compatibility with international characters in form validation
  • fixed datetime bug with missing server timezone value
  • updated POT file, internationalization complete
  • added Norwegian translation
  • bug fixes


** BETA RELEASE ** second round of bug fixes:

  • absolute image URIs will now display correctly
  • frontend list sort preferences are now heeded
  • 'the_content' filter applied to rich text if enabled in settings
  • improved link field data handling on import, doesn't require valid URL
  • missing results on AJAX search bug fixed
  • values of zero no longer considered empty
  • date fields now stored as BINGINT datatype so it can be sorted correctly
  • language files recompiled to correctly show selectors in the manage database fields page
  • zero-division bug in Pagination fixed


** BETA RELEASE ** first round of bug fixes:

  • frontend record edit submissions going to admin
  • list_limit cannot be set to override pagination
  • restored legacy public method Participants_Db::get_image_url()



Please back up before installing

For critical production sites I recommend you try this new plugin version first in a development site.

  • complete overhaul of the entire plugin
  • new classes to handle templating and plugin updates
  • added infrastructure for add-on and premium plugins
  • dozens of bug fixes and code hardening for more reliable performance in your particular installation

New Features:

  • file upload field allows any type of file to be uploaded
  • resend private link for users who've lost theirs
  • math captcha sets a simple test for a human user
  • custom CSS setting for easy presentation tweaks
  • wildcard characters allowed in searches
  • total shortcode shows total records and more
  • search shortcode to place search controls anywhere
  • groups attribute in shortcodes to show only selected groups of fields
  • date range filters in the admin list
  • expanded API for more ways to customize functionality
  • “busy” spinner image for AJAX-powered searches so the user knows something is happening while the data loads
  • labeled selection items for better readability

  • reworked class autoloading to avoid conflicts
  • 'list_query' filter now happens before the length of the list is calculated so if it is altered, the length will be correct
  • 'list_query' filter no longer includes the pagination limit statement

  • improved date formatting for numeric non-American style dates (dd/mm/yyyy)
  • fields omitted from the signup form are no longer validated, making it easier to construct different signup forms
  • more control over search/sort dropdowns in the list display (see template)
  • signup, record and single shortcodes now have the "fields" attribute
  • list shortcode filters now correctly filter multi-select fields
  • lists may now be sorted by more than one field in the shortcode
  • list shortcode filter statements may now include "or" operators
  • read-only text fields show the default value when empty
  • adds several API hooks and filters

Taking defensive precautions against other plugins in the admin: * admin.css is more specific about styling tabs * no longer using .ui-tabs-hide class to show/hide tabs


  • single record link doesn't get wrapped with anchor tag in some cases; works reliably now
  • script handles were conflicting with some other plugins; script handles are now namespaced
  • admin menu hook was conflicting with some other plugins; admin menu hooks are now more specific
  • readonly fields were erased when record was edited in the frontend
  • all date displays are now internationalized
  • page links with some post types were incorrect; now using "get_permalink()" for all page links
  • PDb_Pagination class was conflicting with some other plugins; renamed to PDb_Pagination
  • checkbox fields now allowed for single page link
  • default images are now not given full-size link
  • checkbox fields now allowed for single page link


  • readonly date fields no formatted
  • better handling of multivalue fields
  • internal date fields now correctly formatted
  • improved safeguards against JS code collisions on the admin pages
  • bug where hidden fields cause other fields to be dropped from the display fixed
  • better handling of hidden dynamic values
  • AJAX list filtering no longer loses pagination element


  • internationalized dates are now displaying consistenyly on all screens
  • email headers are now set on a per-message basis to avoid conflicts with text-only emails
  • several bug fixes relating to date localization
  • added Slovak translation by Branco Radenovich


  • added image delete checkbox (doesn't delete file, only database reference)
  • image handle file validation avoids costly CURL calls in validating files
  • improved list AJAX javascript
  • fixed admin page name conflict with some plugins
  • international characters now work properly in user searches
  • internationalization of date display
  • image uploads now won't overwrite existing files of the same name by adding an index to the name

  • fixes several issues brought up by the WP 3.5 release:
  • admin section tabs
  • plugin icon
  • $wpdb->prepare new regimen

  • bugfix for admin list javascript bug that deletes all records on a page if you try to delete a record


  • AJAX search/sort internationalization
  • fixed pagination issues with WP query-string page links
  • improvements and expanded commenting in pdb-list-detailed template
  • added database update failsafe to ensure database is in sync


  • improvements to single record display template and stylesheet; less likely to break
  • better notations and help text
  • several minor bugfixes
  • uploaded images and files pathing is now harder to break
  • AJAX list searches are now compatible with pagination


  • fixed bug that prevented a new uploads directory from being created in some cases
  • it is now possible to have two different list shortcodes on the same page
  • using WP auto formatting is now optional on rich-text fields
  • fixed incompatibility with PHP 5.4


  • fixes for several reported bugs


  • now using templates for all shortcode output
  • added 'read only' attribute for fields
  • added random sort for list output
  • added "match other field" validation option for field double-checks
  • added default sort order for the admin list
  • hidden fields can now capture cookie values as well as server values, WP user data, etc.
  • placeholder tags may now be used in email subject lines
  • new form element: "Rich Text" a textarea element with a rich text editor
  • new form element: "Password" stored as a WP-compatible hash
  • added 'search results only' functionality for list shortcode
  • list searches now update the list without reloading the page (using AJAX)
  • you can define a "default image" to show when no image has been uploaded into a record
  • CSV export now requires admin privileges
  • improved handling of rich text content displays

Requires: 4.0 or higher
Compatible up to: 4.7.1
Last Updated: 21 hours ago
Active Installs: 10,000+


5 out of 5 stars


28 of 73 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