Guest User

Untitled

a guest
Jun 8th, 2022
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.78 KB | None | 0 0
  1. add_filter( 'rest_record_query', 'filter_records_by_source_field', 999, 2 );
  2. function filter_records_by_source_field( $args, $request ) {
  3.   $filter_params = ['test'];
  4.   $active_params = [];
  5.    
  6.   foreach ( $filter_params as $filter_param ) {
  7.       if ( isset( $request[$filter_param] ) ) {
  8.           $active_params[] = $filter_param;
  9.       }
  10.   }
  11.  
  12.   if ( count( $active_params ) === 0 ) {
  13.     return $args;
  14.   }
  15.  
  16.   $meta_query = array();
  17.  
  18.   if ( isset( $args['meta_query'] ) ) {
  19.     $meta_query = $args['meta_query'];
  20.   }
  21.  
  22.   $meta_query['relation'] = 'AND';
  23.  
  24.   foreach ( $active_params as $param ) {
  25.     $meta_query[] = array(
  26.       'key' => $param,
  27.       'value' => sanitize_text_field( $request[$param] )
  28.     );
  29.   }
  30.    
  31.   $args['meta_query'] = $meta_query;
  32.  
  33.   return $args;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment