bp_core_get_suggestions( array $args )
BuddyPress Suggestions API for types of at-mentions.
Description
This is used to power BuddyPress’ at-mentions suggestions, but it is flexible enough to be used for similar kinds of future requirements, or those implemented by third-party developers.
Parameters
- $args
-
(Required) Array of args for the suggestions.
Return
(array|WP_Error) Array of results. If there were any problems, returns a WP_Error object.
Source
File: bp-core/bp-core-functions.php
function bp_core_get_suggestions( $args ) {
$args = bp_parse_args( $args, array(), 'get_suggestions' );
if ( ! $args['type'] ) {
return new WP_Error( 'missing_parameter' );
}
// Members @name suggestions.
if ( $args['type'] === 'members' ) {
$class = 'BP_Members_Suggestions';
// Members @name suggestions for users in a specific Group.
if ( isset( $args['group_id'] ) ) {
$class = 'BP_Groups_Member_Suggestions';
}
} else {
/**
* Filters the default suggestions service to use.
*
* Use this hook to tell BP the name of your class
* if you've built a custom suggestions service.
*
* @since BuddyPress 2.1.0
*
* @param string $value Custom class to use. Default: none.
* @param array $args Array of arguments for sugggestions.
*/
$class = apply_filters( 'bp_suggestions_services', '', $args );
}
if ( ! $class || ! class_exists( $class ) ) {
return new WP_Error( 'missing_parameter' );
}
$suggestions = new $class( $args );
$validation = $suggestions->validate();
if ( is_wp_error( $validation ) ) {
$retval = $validation;
} else {
$retval = $suggestions->get_suggestions();
}
/**
* Filters the available type of at-mentions.
*
* @since BuddyPress 2.1.0
*
* @param array|WP_Error $retval Array of results or WP_Error object.
* @param array $args Array of arguments for suggestions.
*/
return apply_filters( 'bp_core_get_suggestions', $retval, $args );
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 2.1.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.