Bp_Search_Members::print_search_options( $items_to_search )
What fields members should be searched on? Prints options to search through username, email, nicename/displayname.
Description
Prints xprofile fields, if xprofile component is active.
Source
File: bp-search/classes/class-bp-search-members.php
function print_search_options( $items_to_search ){
echo "<div class='wp-user-fields' style='margin: 10px 0 0 30px'>";
echo "<p class='xprofile-group-name' style='margin: 5px 0'><strong>" . __('Account','buddyboss') . "</strong></p>";
$fields = array(
'user_login' => __( 'Username/Login', 'buddyboss' ),
'display_name' => __( 'Display Name', 'buddyboss' ),
'user_email' => __( 'Email', 'buddyboss' ),
'user_meta' => __( 'User Meta', 'buddyboss' )
);
foreach( $fields as $field=>$label ){
$item = 'member_field_' . $field;
$checked = !empty( $items_to_search ) && in_array( $item, $items_to_search ) ? ' checked' : '';
echo "<label><input type='checkbox' value='{$item}' name='bp_search_plugin_options[items-to-search][]' {$checked}>{$label}</label><br>";
}
echo "</div><!-- .wp-user-fields -->";
if( !function_exists( 'bp_is_active' ) || !bp_is_active( 'xprofile' ) )
return;
$groups = bp_xprofile_get_groups( array(
'fetch_fields' => true
) );
if ( !empty( $groups ) ){
echo "<div class='xprofile-fields' style='margin: 0 0 10px 30px'>";
foreach ( $groups as $group ){
echo "<p class='xprofile-group-name' style='margin: 5px 0'><strong>" . $group->name . "</strong></p>";
if ( !empty( $group->fields ) ){
foreach ( $group->fields as $field ) {
//lets save these as xprofile_field_{field_id}
$item = 'xprofile_field_' . $field->id;
$checked = !empty( $items_to_search ) && in_array( $item, $items_to_search ) ? ' checked' : '';
echo "<label><input type='checkbox' value='{$item}' name='bp_search_plugin_options[items-to-search][]' {$checked}>{$field->name}</label><br>";
}
}
}
echo "</div><!-- .xprofile-fields -->";
}
}
Changelog
| Version | Description |
|---|---|
| BuddyBoss 1.0.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.