function bps_display_filters() { $request = bps_get_request(); if (empty($request)) { return false; } $version = BPS_VERSION; $form = $request['bp_profile_search']; $template = 'members/bps-filters'; $location = 'filters'; bps_set_request_data($form, $location); echo "\n<!-- BP Profile Search {$version} {$form} {$template} {$location} -->\n"; $found = bp_get_template_part($template); if (!$found) { printf('<p class="bps_error">' . __('%s: The filters template "%s" was not found.', 'bp-profile-search') . '</p>', '<strong>BP Profile Search ' . BPS_VERSION . '</strong>', $template); } echo "\n<!-- BP Profile Search {$version} {$form} {$template} {$location} - end -->\n"; return true; }
function bps_filter_members($qs = false, $object = false) { if ($object != 'members') { return $qs; } $request = bps_get_request(); if (empty($request)) { return $qs; } $bps_results = bps_search($request); if ($bps_results['validated']) { $args = wp_parse_args($qs); $users = $bps_results['users']; if (isset($args['include'])) { $included = explode(',', $args['include']); $users = array_intersect($users, $included); if (count($users) == 0) { $users = array(0); } } $users = apply_filters('bps_filter_members', $users); $args['include'] = implode(',', $users); $qs = build_query($args); } return $qs; }