BP Profile Search


BP Profile Search is a member search and member directories plugin for BuddyPress. It provides:

  • A form builder to build the member search forms
  • The [bps_directory] shortcode to customize the BuddyPress Members directory, or to build additional member directories

Each search form has a target directory. When you run a search, you are redirected to the form’s target directory, filtered according to your search.

Build a search form

With the form builder you can:

  • Add, edit, rearrange, and remove the search fields
  • Use as search fields the BuddyPress profile fields, the users and usermeta data (including roles), the BuddyPress user groups, and the user taxonomies (including BuddyPress member types)
  • Use search by distance fields when you install the free companion plugin BP Distance Search
  • Select, for each search field, one of the available search modes
  • Select the BuddyPress Members directory, or one of the member directories built with this plugin, as the target directory
  • Select the form template to display your form
  • If in doubt, use the Help tab above the screen title

The form template works just like any other BuddyPress template. To override a form template, copy it to the buddypress/members directory in your theme’s root, then edit the new copy according to your needs.

Display a search form

After you build your search form, you can display it:

  • In its target directory, using the option Add Form to Directory in the form settings
  • In a sidebar or widget area, using the widget Profile Search
  • In a post or page, using the shortcode [bps_form]

Run a search

On the front-end, when you hit the Search button in a form, BP Profile Search shows the form’s target directory filtered according to your search. Both the All Members tab and the My Friends tab are filtered.

Additionally, the plugin:

  • Displays an active filters section containing the active search filters and a Clear button to clear them
  • Displays for each member a member details section containing the values of the searched fields
  • Adds to the Order By drop-down the options to sort the directory by the searched fields

The active filters section and the member details section are displayed by two dedicated templates, that can be overridden just like any other BuddyPress template.

Build a member directory

With the [bps_directory] shortcode you can:

  • Customize the BuddyPress Members directory, or build additional member directories
  • Add hidden filters to a directory
  • Add more sort options to a directory
  • Show additional member information in each member details section, e.g. the value of profile fields
  • Use a different Members directory template for each directory

You can enter the shortcode in an empty page to build a new member directory, or you can enter it in the BuddyPress Members page to customize the BuddyPress Members directory.

Additional documentation

In the screenshots below, the City field is provided by the free companion plugin BP Distance Search.


  • The Profile Search Forms admin page
  • The Edit Form admin page
  • Configuration of a Profile Search widget
  • The Members directory page with a Profile Search widget
  • The Members directory page with search results


Standard installation, see Installing Plugins.


mayo 12, 2024
This plugin does exactly what I want, which is to allow users to search for members using attribute/profiel field filters, using whatever filter you’ve set (eg age, gender). Puzzling why Buddypress didn’t build this feature into their plugin already but fear no more, this plugin can do it for you. Thank you Andrea!
abril 10, 2024
Thanks Andrea for all your help! I wish more developers would be so nice and helpful. I really appreciate your continous support, love the BP Profile Search plugin 🙂
octubre 30, 2022
I was really impressed with this kindly support. I even gut a code to solve a problem with other plugin 🙂 I recommend using this very good plugin!
Read all 70 reviews

Contributors & Developers

“BP Profile Search” is open source software. The following people have contributed to this plugin.


“BP Profile Search” has been translated into 6 locales. Thank you to the translators for their contributions.

Translate “BP Profile Search” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Added: match single search mode for user groups


  • Improved compatibility with other BuddyPress plugins


  • Fixed: logic to call flush_rewrite_rules


  • Fixed: old bug that prevented Loco Translate from working properly


  • Fixed: removed redundant calls to flush_rewrite_rules


  • Added: support for BuddyPress 12.0.0+ without the BP Classic plugin


  • Security: removed a reflected XSS vulnerability, please update!
  • Fixed: incorrect links to user profiles when using the BP Classic plugin
  • Updated: jQuery UI styles to version 1.13.2


  • Added notice: [bps_directory] currently does not work without the BP Classic plugin


  • Fixed: user permalinks in custom directory when standard directory is a subpage


  • Fixed: platform detection (BuddyPress or the BuddyBoss Platform)


  • Added: site information under Tools -> Site Health


  • Fixed: limit on number of displayed groups


  • Fixed: bug on search fields marked required


  • Fixed: widget preview in WordPress 5.8


  • Added: ability to change the position of the active filters section


  • Added: new match single search mode, for multiselectbox and checkbox profile fields


  • Breaking change: custom form templates must enqueue the scripts they need
  • Breaking change: new filters template
  • See BP Profile Search 5.4 for details


  • Fixed: member-type specific fields are no longer incorrectly hidden


  • Added: support for the BuddyBoss Gender profile field type


  • Fixed: removed incorrect call to get_the_content()
  • Breaking change: custom form templates must enqueue the scripts they need
  • See BP Profile Search 5.3.3 for details


  • Fixed: fields duplication in search form


  • Fixed: do not search if search form has errors
  • Fixed: autocomplete in location search field


  • Removed support for old form templates
  • Added required fields, default field values, and custom field validation
  • Fixed pagination of search results in member directories not using AJAX
  • Fixed conflict with the group members template, introduced in 5.2
  • See BP Profile Search 5.3 for details



  • Fixed bug preventing adding new search fields with Firefox
  • Minor changes to the form builder UI


  • Improved the form builder UI
  • Added workaround to prevent conflict with WC Vendors Marketplace


  • Fixed conflict with the BP Legacy group members template, introduced in 5.2


  • Added search by group, to find members belonging to the selected group(s)


  • Added the bps-details template, to customize the member details section
  • Removed the bps-field-value template, replaced by bps-details


  • Fixed bug with range and age_range in old templates, introduced in 5.0.2


  • Made the AND and OR keywords translatable in searches
  • Fixed bug with the bps_match_all hook
  • Made the multiple select size adjustable in search forms
  • Minor adjustment to the bps-form-default template
  • See BP Profile Search 5.0.4 for details


  • Fixed compatibility with GEO my WP
  • Fixed bug in the [bps_directory] shortcode with values containing ampersand (&)


  • Added display of profile fields in the [bps_directory] shortcode
  • Added display of selected profile fields in search results
  • Added option to sort search results by selected profile fields
  • Fixed a potential privacy problem involving unauthorized searches
  • Improved compatibility with GEO my WP
  • See BP Profile Search 5.0.2 for details


  • Fixed critical bug in the [bps_directory] shortcode – incorrect links to user profiles


  • Fixed the [bps_directory] shortcode to work with BP Legacy and BP Nouveau
  • Added search modes is and range for date fields
  • Improved compatibility with BP xProfile Location
  • Added notice for users of outdated form templates



  • Fixed workaround to prevent a theme conflict


  • Minor adjustment to the bps-form-default template
  • Workaround to prevent a plugin conflict


  • Restored the bps-form-nouveau template, following user requests


  • Fixed CSS bug with bps-form-default
  • Fixed bug with the Member Type search field


  • Added support for AND and OR expressions in search fields
  • Retired the bps-form-nouveau template, replaced by bps-form-default


  • Fixed bug introduced in 4.9.1 affecting older form templates
  • Added admin error notice when BuddyPress is not active


  • Fixed PHP Warnings in form templates
  • Fixed bug in WPML support


  • Introduced a new default form template, to gradually replace older templates
  • See Form Templates for details


  • Added search by user taxonomies (including BP member types)
  • Added column in the Search Forms page showing the current template and its location


  • Added choice of jQuery UI theme for the bps-form-nouveau template



  • Added a new form template compatible with BP Nouveau
  • Revised the plugin’s contextual help
  • The shortcode [bps_directory] still doesn’t work with BP Nouveau


  • Fixed issue when calling a template inside a template


  • Added ability to search by data in the users table
  • Added option to enable or disable persistent search
  • Removed the old interface for custom field types
  • See BP Profile Search 4.8.1 for details



  • Introduced new search mode is one of



  • No longer clears the search when leaving the members directory
  • Removed PHP Warning during first activation
  • Added HTML class to forms in form templates
  • Added configuration file for WPML


  • Fixed bug with custom field types introduced in 4.7.5


  • Moved the search mode selection to the field level


  • Fixed bugs in WPML support


  • Added filter to change the cookie name


  • Fixed bug with custom field types introduced in 4.7.1


  • Modified the Form Fields settings UI to enable further development



  • Added support for WPGlobus
  • Updated templates for the Twenty Seventeen theme
  • Added the plugin icon – by Alexei Ryazancev


  • Added ability to search for member types
  • Added the filters bps_clear_search and bps_match_all


  • Added support for member-type directories
  • Updated templates to allow member-type directories as results pages


  • Removed insecure code – thanks to Robert Rowley at pagely.com


  • Fixed hardcoded strings in a form template


  • Fixed bug in Age Range display introduced in version 4.5
  • Fixed bug in label display introduced in version 4.5.1


  • Fixed order of search conditions in directory pages
  • Improved support for WPML


  • Added generic search field to search every profile field


  • Added basic support for WPML


  • Fixed the Form Action (Results Directory) drop down list


  • Fixed bug with member-type specific fields


  • Fixed bug in wildcard searching

4.4 10/04/2015

  • Updated to use WP language packs

4.3.1 09/03/2015

  • Fixed rendering of hidden fields in form templates

4.3 08/25/2015

  • Updated templates to better support custom field types
  • Updated documentation for custom field types authors

4.2.4 08/18/2015

  • Updated for WordPress 4.3

4.2.3 08/04/2015

  • Restricted capability to create forms to admin only
  • Added the filters bps_form_order and bps_form_caps
  • Changed the name of a few functions

4.2.2 06/06/2015

  • Updated templates to work in member-type directories

4.2.1 05/15/2015

  • Fixed bug when searching in a multiselectbox profile field type

4.2 04/18/2015

  • Added ability to use form templates

4.1.1 03/21/2015

  • Fixed bug with field labels containing quotes

4.1 03/04/2015

  • Added ability to create custom Members directory pages
  • Added ability to use them as custom search results pages

4.0.3 09/07/2014

  • Fixed PHP fatal error when BP component Extended Profiles was not active
  • Replaced deprecated like_escape()

4.0.2 06/16/2014

  • Fixed PHP warning when using the SAME search mode

4.0.1 06/08/2014

  • Fixed bug with field options not respecting sort order
  • Fixed bug with search strings containing ampersand (&)

4.0 06/02/2014

  • Added support for multiple forms
  • Added ability to export/import forms
  • Added selection of the form method attribute
  • Updated Italian and Russian translations

3.6.6 05/15/2014

  • Added French translation

3.6.5 05/09/2014

  • Fixed bug when searching in a number profile field type

3.6.4 04/30/2014

  • Added support for custom profile field types, see documentation

3.6.3 04/21/2014

  • Reduced the number of database queries

3.6.2 04/14/2014

  • Updated for the number profile field type (BP 2.0)

3.6.1 04/09/2014

  • Fixed PHP warnings after upgrade

3.6 04/03/2014

  • Redesigned settings page, added Help section
  • Added customization of field label and description
  • Added Value Range Search for multiple numeric fields
  • Added Age Range Search for multiple date fields
  • Added ability to rearrange the search fields
  • Updated Italian translation
  • Updated Russian translation

3.5.6 03/02/2014

  • Replaced deprecated $wpdb->escape() with esc_sql()
  • Added Clear link to reset the search filters

3.5.5 02/18/2014

  • Fixed the CSS for widget forms and shortcode generated forms

3.5.4 02/16/2014

  • Added Serbo-Croatian translation

3.5.3 01/07/2014

  • Added Spanish, Russian and Italian translations

3.5.2 09/14/2013

  • Fixed a pagination bug introduced in 3.5.1

3.5.1 09/10/2013

  • Fixed a few conflicts with other plugins and themes

3.5 09/04/2013

  • Added the Add to Directory option
  • Fixed a couple of bugs with multisite installations
  • Ready for localization
  • Requires BuddyPress 1.8 or higher

3.4.1 07/03/2013

  • Added selectbox profile fields as candidates for the Value Range Search

3.4 06/30/2013

  • Added the Value Range Search option – thanks to Florian Shiessl

3.3 05/12/2013

  • Added pagination for search results
  • Added searching in the My Friends tab of the Members directory
  • Removed the Filtered Members List option in the Advanced Options tab
  • Requires BuddyPress 1.7 or higher

3.2 11/27/2012

  • Updated for BuddyPress 1.6
  • Requires BuddyPress 1.6 or higher

3.1 06/10/2012

  • Fixed the search when field options contain trailing spaces
  • Fixed the search when field type is changed after creation

3.0 04/19/2012

  • Added the Profile Search widget
  • Added the [bp_profile_search_form] shortcode

2.8 03/12/2012

  • Fixed the Age Range Search
  • Fixed the search form for required fields
  • Removed field descriptions from the search form
  • Requires BuddyPress 1.5 or higher

2.7 09/23/2011

  • Updated for BuddyPress 1.5 multisite
  • Requires BuddyPress 1.2.8 or higher

2.6 09/22/2011

  • Updated for BuddyPress 1.5

2.5 03/14/2011

  • Updated for BuddyPress 1.2.8 multisite installations

2.4 02/14/2011

  • Added the Filtered Members List option in the Advanced Options tab

2.3 01/24/2011

  • Added the choice between Partial match and Exact match for text searches

2.2 01/03/2011

  • Added the Age Range Search option

2.1 12/13/2010

  • Added the Toggle Form option to show/hide the search form
  • Fixed a bug where no results were found in some installations

2.0 11/14/2010

  • Added support for multiselectbox and checkbox profile fields
  • Added support for % and _ wildcard characters in text searches

1.0 06/29/2010

  • First version released to the WordPress Plugin Directory