Category Archives: News

BP Profile Search 5.4.6

This new version of BP Profile Search adds a site information section to the admin interface. This information will be very useful if you ever post a request in a BP Profile Search support forum, either:

https://wordpress.org/support/plugin/bp-profile-search/

or:

https://dontdream.it/support/forum/bp-profile-search-forum/

When you have a support request, go to:

Tools -> Site Health -> Info -> BP Profile Search

You will find some lines like these:

Version			5.4.6
Platform		BuddyPress 10.3.0
Theme			Twenty Thirteen 3.5
Members index template	/plugins/buddypress/bp-templates/...
Members loop template	/plugins/buddypress/bp-templates/...
Form template(s)	/plugins/bp-profile-search/templates/...

Copy those lines and paste them into your support request, and most of the times I’ll be able to answer your question more quickly.

BP Profile Search 5.3

To clean up the plugin code and simplify further development, version 5.3 no longer supports old form templates, see New form template structure.

To know if the templates you are using are supported in 5.3, look at the Template column in the admin page Users -> Profile Search. Templates whose name is shown in green or blue text are supported in 5.3, those shown in red text are not.

If you still need to use old form templates, keep using BP Profile Search 5.2.4. If you upgraded already, roll back to BP Profile Search 5.2.4, either manually or using the WP Rollback plugin.

In addition, the old shortcode [bps_display] has been removed. If you were still using it, you can now replace it with [bps_form].

Version 5.3 brings a few new features and bug fixes:

1. A search field can be marked as required

To do that, go to the Edit Form page and prefix the field Label with an asterisk, e.g.:

* City

If you prefer an alternative way to mark a field as required, you can add this code to your bp-custom.php file:

add_action ('bps_field_before_search_form', 'set_required');
function set_required ($f)
{
	if ($f->code == 'field_34')    // replace 34 with your field ID
	{
		// mark the field as required
		$f->required = true;
	}
}

2. A search field can be assigned a default value

To do that, add this code to your bp-custom.php file:

add_action ('bps_field_before_search_form', 'set_default');
function set_default ($f)
{
	if ($f->code == 'field_34')    // replace 34 with your field ID
	{
		// assign the default value
		$f->value = 100;
	}
}

3. A search field can be validated with custom rules

To do that, add this code to your bp-custom.php file:

add_filter ('bps_validate_field', 'validate_field', 10, 2);
function validate_field ($error_message, $f)
{
	if ($f->code == 'field_34')    // replace 34 with your field ID
	{
		// specify the field validation rule and error message
		if ($f->value <= 80)
			$error_message = 'Please enter a value > 80';
	}

	return $error_message;
}

Bug fixes

This version also fixes two bugs:

1. The pagination of search results in member directories not using AJAX;

2. A conflict with the group members template, resulting in the group members page not being displayed correctly sometimes.

The two bug fixes are also available in version 5.2.4; if you need them and can’t upgrade to 5.3, you can delete and then reinstall BP Profile Search 5.2.4.

BP Profile Search 5.0.4

With this version you can:

— Translate the keywords AND and OR used in searches. For instance, to translate the keywords in Spanish, add these definitions to bp-custom.php:

define ('BPS_AND', ' Y ');	// AND in Spanish
define ('BPS_OR', ' O ');	// OR in Spanish

— Adjust the multiple select size in search forms, using the bps_field_before_search_form hook. For instance, add this code to bp-custom.php:

add_action ('bps_field_before_search_form', 'new_multiselect_size');
function new_multiselect_size ($f)
{
	if ($f->display == 'multiselectbox')
	{
		$f->multiselect_size = 6;
	}
}

Additionally, a bug happening when you used the bps_match_all hook has been fixed, and some minor adjustments to the bps-form-default template have been made.

BP Profile Search 5.0.2

When you search your Members directory for City is: London, there is no doubt that all the members in your search results live in London. There is no need to show the value of the City field, or to order the search results by City.

But if you search for City is: London OR Paris, or for City contains: York, then you can’t say where a member in your search results actually lives. In these cases BP Profile Search 5.0.2 shows the value of the City field, and offers the option to sort your search results by City.

You can disable this feature if you don’t need it. Simply add this code to your bp-custom.php file:

add_filter ('bps_sort_options', 'change_sort_options');
function change_sort_options ($sort_options)
{
	$sort_options = array ();
	return $sort_options;
}

add_filter ('bps_details', 'change_details');
function change_details ($details)
{
	$details = array ();
	return $details;
}

The [bps_directory] shortcode allows you to activate this feature independently of the current search.

[bps_directory show='field_4,field_36' order_by='field_4,field_40']

shows the fields with ID 4 and 36 in all your directory (or search results) entries, and offers the option to sort your directory (or search results) by the fields with ID 4 and 40.

Please note that [bps_directory] is not a standard shortcode. You can enter it in a new page, and you’ll get a new Members directory, or you can enter it in the standard Members directory page, and you’ll be able to customize the standard Members directory itself.

BP Profile Search 5.0.2 also fixes a potentially nasty privacy problem. This involves a possible backwards incompatibility, see Potential privacy problem fixed in 5.0.2 for details.

And, last but not least, version 5.0.2 features a much improved compatibility with GEO my WordPress. Enjoy!

BP Distance Search

Following many user requests, today I’ve released BP Distance Search.

BP Distance Search adds a new Google Place Autocomplete field type to your BuddyPress extended profiles.

You can then create Google Place Autocomplete fields, and add them to your BP Profile Search forms, selecting either the new distance search mode or one of the usual text search modes contains, is, or is like.

I hope you’ll find this new plugin useful. For questions, suggestions and bug reports you can use the BP Profile Search Support Forum.

WPML compatibility

With BP Profile Search 4.9.1, the friendly and supportive WPML team have completed their compatibility testing, so now we can announce full compatibility between BP Profile Search and WPML itself.

Using BP Profile Search with WPML is really simple. The relevant user-entered strings (form title, field label, field description) are automatically registered for translation, so you only need to provide your translations and forget about it.

Of course, if something doesn’t work for you as intended, please feel free to use our Support Forum.

BP Profile Search 4.8.4

Version 4.8.4 introduces the ability to search for user meta data, i.e. data in the (wp_)usermeta table.

This table contains a variety of data, e.g. the user’s first and last name, user roles, and many others, added by WordPress core or by plugins.

Out of the box, BP Profile Search supports only a handful of user meta data: first_name, last_name, role, total_friend_count, total_group_count.

To add your favorite user meta data to that basic initial list, see User Meta Data.

BP Profile Search 4.8.1

Version 4.8.1 brings two often requested enhancements, and a necessary break of backwards compatibility.

1. The ability to search for data in the Users table, e.g. the user ID, login name, or registration date.

The full field list is: ID, user_login, user_email, user_url, user_registered, user_status, display_name. This list can be modified using the bps_users_columns filter hook.

2. The ability to enable or disable the persistent search feature.

When persistent search is enabled, a search is cleared when the user hits the Clear button – this is now the default option.

When persistent search is disabled, a search is cleared when the user hits the Clear button, or navigates away from the results page – this used to be the default before version 4.7.7.

3. The old interface for custom profile field types has been removed, see my post On custom field types.

Unfortunately not all the affected plugins have been updated to the new interface, and in this case you won’t be able to use those field types in BP Profile Search 4.8.1 forms. If that’s a problem, please keep using BP Profile Search 4.8.

BP Profile Search 4.8

BP Profile Search 4.8 introduces the hidden filters feature.

Hidden filters are used within the [bps_directory] shortcode to build specific Members directories.

For instance, if you have a profile field (with ID 39) where Members can select their preferred pets (Cats, Dogs, …), you may want to build a directory showing only Members who prefer Cats. That’s easy, put this shortcode into an empty page:

[bps_directory field_39="Cats"]

Done! you have the directory of cat loving people.

You can build very specific Members directories using any number of hidden filters. All the search modes available to build search forms are also available as hidden filter types. See the Custom Directories page for additional details.

BP Profile Search 4.7

BP Profile Search version 4.7 allows you to sort your search results using profile fields, adding those options to the Order By drop-down in the search results page.

As you may recall, the ability to build a custom search results page with the [bps_directory] shortcode was added in version 4.1. Now that shortcode accepts a new attribute:

[bps_directory order_by=field_xyz]

where xyz is the ID of the profile field you wish to use. For instance, if you have a profile field City with ID 35, and a field Graduation Date with ID 12, the shortcode:

[bps_directory order_by=field_35]

adds the option City to the Order By drop-down.

When a visitor selects City from the Order By drop-down, the directory (or the search results if a search is active) will be sorted by city, ascending. At the same time, the value of the City field will be displayed in each member’s entry.

The sort direction is asc (ascending) by default, but you can specify desc (descending) or both (both directions). For instance the shortcode:

[bps_directory order_by='field_35 both, field_12 desc']

adds the options City ⇡, City ⇣ and Graduation Date to the Order By drop-down. When a visitor selects Graduation Date from the Order By drop-down, the directory (or the search results if a search is active) will be sorted by graduation date, descending. If they select City ⇡ or City ⇣, the directory will be ordered by city, respectively ascending or descending.

For a complete overview of the [bps_directory] shortcode, see the Custom Directories tutorial.