Dynamic User Directory


Multi-user WordPress websites often serve organizations whose members interact both online and in person. This lightweight plugin facilitates that interaction by creating an alphabetically sorted user directory displaying the user meta information you specify. It can show avatars, mailing address, email address, website, phone, or any other user meta information you wish. It is also fully compatible with BuddyPress, S2Member, and Cimy User Extra Fields plugins.

Current Features

The best thing about Dynamic User Directory is the high degree of control you have over the content, formatting, and style. This allows you to create a highly customized directory and integrate it seamlessly into your WordPress theme. Features include:

  1. Full compatibility with BuddyPress Extended Profile, S2Member Custom Fields, and Cimy User Extra Fields
  2. Sort by user last name or user display name
  3. Specify which user meta fields to display (up to 10)
  4. Hide users with specified user roles
  5. Include or exclude specific users
  6. Optionally hyperlink the user name and avatar to their WP author page or BuddyPress profile page
  7. Enjoy a fully responsive display for smaller screen sizes
  8. Optionally show a search box to quickly locate a user
  9. Search by any user meta field with the Meta Fields Search add-on
  10. Create multiple directory instances with the Multiple Directories add-on
  11. Hide the directory until a search is run with the Hide Directory Before Search add-on
  12. Show directory listings in a table format with the Horizontal Layout add-on
  13. Easily format the display in the following ways:
  • Show/hide avatars
  • Set avatar style (circle, rounded edges, or standard)
  • Show/hide listing border
  • Set listing border style, color, length, and thickness
  • Control font size of all text displayed
  • Set the display order of each field
  • Control space between alphabet letter links
  • Control space between each directory listing
  • Choose between showing all users or filtering by selected alphabet letter
  • Hyperlink almost any user meta field
  • Display formatted social media link icons (choose from two different icon styles)

Add-Ons and Customization

There are several Dynamic User Directory add-ons available here to enhance and extend your directory. Don’t see the functionality you need? You can also hire me to customize the plugin according to your site’s specific needs.

Your Feedback is Valuable!

If this plugin benefits your website, please take a moment to say thanks by leaving a positive rating and/or review. Did you find a bug? Let me know and I’ll fix it ASAP. Have suggestions for improvement? Don’t hesitate to email me with your thoughts. Thanks so much!


  • Directory style example #1
  • Directory style example #2
  • Directory style example #3
  • Directory style example #4
  • Actual Site #1
  • Actual Site #2
  • Actual Site #3
  • 1 of 4: plugin settings page
  • 2 of 4: plugin settings page
  • 3 of 4: plugin settings page
  • 4 of 4: plugin settings page


  1. Copy the whole dynamic-user-directory subdir into your plugin directory or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Use the Settings->Dynamic User Directory screen to configure the plugin


Installation Instructions
  1. Copy the whole dynamic-user-directory subdir into your plugin directory or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Use the Settings->Dynamic User Directory screen to configure the plugin
Q: Does this plugin let me create custom fields on the user profile?

A: Dynamic User Directory strictly displays pre-existing user profile information in a searchable directory format. To create custom fields on the user registration/profile page, you’ll need a plugin such as WPForms, Meta Box, or Cimy User Extra Fields. Once your custom fields have been added to the user registration/profile page, simply enter the corresponding Meta Key names on the DUD settings page to show them in the directory.

Q: Why are the avatars misaligned in my directory?

A: The Dynamic User Directory plugin should play well with most themes. However, on occasion there may be CSS conflicts with a particular theme that skew the appearance. Currently the only known theme with this problem is the Basic theme. If you are using Basic or any other theme that skews the appearance, contact me and I will work with you to resolve the issue.

Q: Why is my selected avatar shape not working?

A: Some themes enforce a certain avatar shape. For example, the WordPress Twenty Fifteen and Twenty Sixteen themes do this. The Dynamic User Directory plugin intentionally does not interfere with the sitewide avatar settings, so the theme-enforced avatar shape will take precedence in your user directory display.

Q: Will this plugin support non-English languages?

A: Currently this plugin only supports English. However, there are plans to internationalize it in the near future!

Q: How do I contact you with questions or suggestions?

A: If you have a support question please create a thread under the Support tab of the plugin page. I will be glad to help you resolve the problem ASAP. You can also reach me at sarah@sgcustomwebsolutions.com. In the future I will have a page on my website dedicated to comments and FAQs.


Great product and a very responsive and helpful author!

I was in a dire need for a directory plugin for my site and was fortunate enough to find this one. This free plugin functions very well and is self sufficient for simple alphabetical directories. I wanted to be able to search on some xProfile fields and found that the author has a set of very useful premium plugins, which are priced rather economically, and do everything that I needed. I bought all of them and have been very happy with the results.

One of the search add ons had a CSS conflict with my theme, but the author was kind enough to respond within few hours and she helped me fix it.

I could not be happier with the product and the prompt support! Thank you Sarah!

Fast and Easy

This plugin was Fast and Easy to install and configure.
It created a great member listing from Buddypress including fields from the extended profile area. The optional extensions are quite affordable, so give it a try!

Great plugin and add-ons !

The plugin is great and works perfectly. I am using the `Multiple Directories’ add-on to have multiple directories on my website and it works like a charm.

Thanks a lot for this wonderful plugin!

Best user and member directory plugin – bar none

I’ve been looking for a long time for a simple solution that allows for displaying a list of users with a given WP Role (because it’s a site running a membership management plugin that stores active membership as a given WP role) together with a select few user meta fields. While membership is active for a given member, that member will show up in the listing; if membership lapses, that user is not shown in the listing anymore, and as soon as membership is reactivated, listing is reactivated – all automatically. This wonderfully nimble plugin does just all that. There are a few handy add-on plugins available at the author’s site, check them out if you need e.g. more extensive search capabilities. (Note for the takers: this plugin works perfectly with s2Member – so if you need a more powerful member listing, look into this one). Plus, this plugin is written by a very responsive author. Recommended without reservation.

Exactly What I Needed

This plugin is PERFECT. Does exactly what I need (takes the information from my membership registration form and creates a directly that is listed alphabetically BY DISPLAYED NAME and IS SEARCHABLE.

It was so easy to set up. THANK YOU SO MUCH.

Read all 15 reviews

Contributors & Developers

“Dynamic User Directory” is open source software. The following people have contributed to this plugin.




  • First public release.


  • Updated readme.txt.


  • Added default plugin settings.
  • Corrected a spacing issue related to the directory listing display.


  • Security update: Added SQL injection protection.
  • Fixed: Display issue related to show/hide user role feature.


  • Fixed: Spacing issue when a directory listing showed an avatar next to three or less lines of text.
  • Fixed: An extra underline was appearing in the empty space next to each letter link for themes that underline hyperlinks.
  • Fixed: The city and state of the address fields did not display if there was no zip code.
  • New Feature: A fifth meta field was added.
  • New Feature: An “Include/Exclude User” setting was added to provide a more customized directory.


  • New Feature: “Space between listings” setting added for greater formatting control
  • Fixed: Directory was not displaying results when using the include/exclude or hide user roles feature and sorting by display name
  • Fixed: Directory would not work if the default WordPress table name prefix had been changed (thanks, Jaya P!)
  • Fixed: Responsive display at very small screen sizes was not properly formatting the avatars


  • Successfully tested on WordPress 4.6
  • New Feature: Added 5 new meta fields for a total of 10 available meta fields (not including address fields).
  • New Feature: Added the User Meta Fields dropdown on the settings page so you can select the exact number of fields you need.
  • New Feature: Added the Address Fields checkbox so you can hide that section if you do not need it.


  • New Feature: Added a “link to author page” checkbox on the settings page that will hyperlink the user name and avatar to the user’s WP Author Page.
  • Code cleanup and reorganization


  • Internal change to code generating alpha links to eliminate potential display issues
  • New Feature: Added “Debug Mode” setting that will display a set of debug statements for Admins ONLY when turned on. This will help me debug site-specific issues more quickly.


  • New Feature: Added “Directory Type” dropdown on the settings page. You may select the “all users on one page” option to display the entire directory on one screen.
  • Code enhancement: Minified all CSS files for faster load time.


  • Code successfully tested on WordPress 4.7


  • New Feature: Added “Show search box” checkbox on the settings page that will show a search box at the top of the directory. You may search by user last name or display name, depending on the sort field.
  • Fixed: A message incorrectly stating that there are “no users in the directory” was being displayed when viewing the directory with the following settings: 1) the “Single Page Directory” option was selected, 2) The Sort Field was set to “Display Name,” and 3) users were selected for exclusion.


  • Enhancement: Added five filter hooks to allow developers to extend this plugin
  • Fixed: The city/state/zip portion of the address field was not showing if there was no state meta field. It will now show any portion of the city/state/zip address fields that is present.
  • Fixed: Search box was case sensitive, so that you could not search using all lowercase letters. You can now search using upper, lower, or mixed case.


  • Fixed: internal change in the id field of the letter dividers.


  • Fixed: Admin settings page did not set a default value for the letter divider font and fill colors,
    resulting in an error message if you submitted the page without choosing those colors.
  • Changed: Removed the Cimy User Extra Fields notification from the settings page for those who do not have that plugin loaded.


  • New Feature: Added Name Display Format on the settings page that will allow you to display name as “First Last” or “Last, First.”
  • Enhancement: Expanded the width of the key names listing and sorted it alphabetically for ease of use.
  • Enhancement: Added link to the Dynamic User Directory add-ons page.


  • Fixed: the code variable “$this” was causing fatal error in php 7.1. Changed variable name to correct problem.


  • Fixed: User meta fields that contained arrays would not display properly (e.g. multiple checkbox or radio button values stored in an array). It will now show a list of array items vertically, with one item per line.
  • Code enhancement: now storing all settings page options as an array in a single options setting. This will improve performance since every “get_option” call requires a database read.
  • New Feature: You can now choose to show Author Page links for all users rather than only for those with posts. This accomodates those who have a custom author.php page that should be shown regardless of the post count.


  • Fixed: Code was generating incorrect Letter Link URLs for certain intranet website confirgurations and for the WordPress “Plain” permalink setting. It will now generate the links correctly.
  • Enhancement: Added code to accommodate the new Meta Fields Search add-on.


  • Fixed: Corrected a null error warning: “Warning: in_array() expects parameter 2 to be array, null given” which may occur for those who do not have the Cimy plugin.


  • Fixed: Corrected a missing statement when the debug mode is turned on.


  • Enhancement: Added new code to accomodate the new Meta Fields Search add-on.
  • Fixed: Search box width was too long. Set new width to 45%.


  • New feature: Added the ability to hyperlink any meta field.
  • Enhancement: Added new code to accomodate the new Meta Fields Search add-on.
  • Internal code reorganization on the admin settings page.


  • IMPORTANT: If you have the Meta Fields Search or Alpha Links Scroll add-ons, you should see an update available for each of these on the plugins page. If you do not see these updates, contact me and I will resolve the issue. These should be run in tandem with the Dynamic User Directory update to 1.2.8.
  • Enhancement: Added new code to accomodate the new Multiple Directories add-on.
  • Fixed: when showing a dividing border and a letter divider on a single page directory, a dividing border was being displayed just before the letter divider of the single page directory.
  • Tweak: set the height of the default user search box to 40px.


  • Fixed: When the Meta Fields Search add-on is installed, and an invalid search value is entered, a PHP notice “Warning: Missing argument 2 for dud_build_srch_form_custom()” appears at the top of the page.


  • Fixed: Alpha links were not always properly created when the site uses a custom permalink structure, resulting in a 404 error.


  • Successfully tested against WP 4.8
  • Fixed: Letter divider was showing up on the Single Page Directory even when “No letter divider” was selected.
  • New Feature: You can now link the user name and avatar to their BuddyPress profile page in addition to the WP Author Page.


  • Code clean-up: properly initialized all variables to eliminate the PHP warning notices that were being shown for this plugin when DEBUG = true in the wp_config.php file.


  • New Feature: DUD is now fully compatible with BuddyPress Extended Profile fields
  • New Feature: DUD is now fully compatible with S2Member Custom fields


  • Internal code tweak that allows developers to show only the search box and hide the directory unless a search is run.
  • Added two filters, dud_set_avatar_link and dud_set_user_profile_link, so that developers can manually set the links to the user profile/author page if needed.


  • Fixed: When user roles with a space in the name are selected for hiding, DUD did not hide those roles. It will now hide all selected roles properly.
  • Enhancement: Added two new filters, dud_search_err and dud_no_users_msg, so that developers can customize the plugin error messages shown to the viewer
  • Multiple Directories code cleanup: Internal reorganization to handle loading a selected directory instance more efficiently in core.php


  • Released 8/29/17
  • Enhancement: Redesigned and reorganized the admin settings page for improved aesthetics, readability, and ease of use.
  • Fixed: When text with an apostrophe is entered on the BuddyPress profile, a slash was being shown in the directory next to the apostrophe. The text is now shown correctly without the extra slash.


  • Released 11/12/17
  • New Feature: Added four new DUD filters: dud_modify_letters, dud_format_key_val_array, dud_srch_fld_placeholder_txt, and dud_modify_address_flds
  • New Feature: Added one new add-on filter: dud_hide_dir_before_srch
  • New Feature: Added the ability to control the avatar size.
  • New Feature: Added new letter divider options: Letter Only, Letter with Bottom Border, and Letter with Top and Bottom Border
  • Fixed: The CSS for the directory search box was shrinking the box’s height in some themes. This has been corrected.
  • Internal code reorganization to streamline certain actions


  • Released 1/7/18
  • Successfully tested against WP 4.9.1
  • New Feature: Added a Social Meta Fields section that will format your social media links as a row of icons.
  • New Feature: Added three new DUD filters: dud_set_user_email, dud_set_user_email_display, and dud_modify_social_flds
  • Fixed: When accessing the S2Member meta field name that holds all custom fields, the “wp_” prefix was hard coded. This has been changed to pull the prefix dynamically from the config file in case it has been changed.
  • Fixed: The DUD settings page was calling the deprecated function “screen_icon(),” which generates an error notice when WP Debug is turned on. This call has been removed.


  • Released 1/22/18
  • Successfully tested against WP 4.9.2
  • Fixed: Adjusted the new dud_modify_social_flds filter to send all necessary parameters.
  • Fixed: Removed the
    that pushes the value below the label for meta fields containing arrays with only one item.


  • Released 2/7/18
  • Successfully test against WP 4.9.4
  • Fixed: changed the sql for loading the “user include/exclude” listbox on the settings page when there are 1000+ users, to prevent the page from hanging.
  • Fixed: eliminated the “undefined index” warning notices appearing on some sites for the new Social meta fields when wp_debug is set to “true”.
  • Enhancement: updated the users include/exclude and user roles exclude listboxes to multi-selectable dropdowns with search capability for ease of use.
  • Enhancement: added a “country” field to the Address meta fields section.