Added nested meta_query and tax_query in players endpoint filter to construct complex query

This commit is contained in:
Paresh Radadiya
2018-01-14 22:37:46 +05:30
parent 8f238209b6
commit 835b03b8f3
2 changed files with 6 additions and 24 deletions

View File

@@ -123,26 +123,26 @@ class SP_REST_Players_Controller extends SP_REST_Posts_Controller {
// Filter players by team id // Filter players by team id
if ( ! empty( $request['team_id'] ) ) { if ( ! empty( $request['team_id'] ) ) {
$args['meta_query'] = $this->add_meta_query( $args, array( $args['meta_query'][] = array(
'key' => 'sp_team', 'key' => 'sp_team',
'value' => $request['team_id'] 'value' => $request['team_id']
) ); );
} }
// Filter players by current team id // Filter players by current team id
if ( ! empty( $request['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', 'key' => 'sp_current_team',
'value' => $request['current_team_id'] 'value' => $request['current_team_id']
) ); );
} }
// Filter players by past team id // Filter players by past team id
if ( ! empty( $request['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', 'key' => 'sp_past_team',
'value' => $request['past_team_id'] 'value' => $request['past_team_id']
) ); );
} }
return $this->prepare_items_query( $args, $request ); return $this->prepare_items_query( $args, $request );

View File

@@ -7,24 +7,6 @@ if ( class_exists( 'WP_REST_Posts_Controller' ) ) {
$this->namespace = 'sportspress/v2'; $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. * Prepare objects query.
* *