Added nested meta_query and tax_query in players endpoint filter to construct complex query
This commit is contained in:
@@ -123,26 +123,26 @@ class SP_REST_Players_Controller extends SP_REST_Posts_Controller {
|
||||
|
||||
// Filter players by team id
|
||||
if ( ! empty( $request['team_id'] ) ) {
|
||||
$args['meta_query'] = $this->add_meta_query( $args, array(
|
||||
$args['meta_query'][] = array(
|
||||
'key' => 'sp_team',
|
||||
'value' => $request['team_id']
|
||||
) );
|
||||
);
|
||||
}
|
||||
|
||||
// Filter players by current team id
|
||||
if ( ! empty( $request['current_team_id'] ) ) {
|
||||
$args['meta_query'] = $this->add_meta_query( $args, array(
|
||||
$args['meta_query'][] = array(
|
||||
'key' => 'sp_current_team',
|
||||
'value' => $request['current_team_id']
|
||||
) );
|
||||
);
|
||||
}
|
||||
|
||||
// Filter players by past team id
|
||||
if ( ! empty( $request['past_team_id'] ) ) {
|
||||
$args['meta_query'] = $this->add_meta_query( $args, array(
|
||||
$args['meta_query'][] = array(
|
||||
'key' => 'sp_past_team',
|
||||
'value' => $request['past_team_id']
|
||||
) );
|
||||
);
|
||||
}
|
||||
|
||||
return $this->prepare_items_query( $args, $request );
|
||||
|
||||
@@ -7,24 +7,6 @@ if ( class_exists( 'WP_REST_Posts_Controller' ) ) {
|
||||
$this->namespace = 'sportspress/v2';
|
||||
}
|
||||
|
||||
/**
|
||||
* Add meta query.
|
||||
*
|
||||
* @since 2.5
|
||||
* @param array $args Query args.
|
||||
* @param array $meta_query Meta query.
|
||||
* @return array
|
||||
*/
|
||||
protected function add_meta_query( $args, $meta_query ) {
|
||||
if ( ! empty( $args['meta_query'] ) ) {
|
||||
$args['meta_query'] = array();
|
||||
}
|
||||
|
||||
$args['meta_query'][] = $meta_query;
|
||||
|
||||
return $args['meta_query'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare objects query.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user