- member directory filters;

This commit is contained in:
nikitasinelnikov
2019-08-20 15:40:00 +03:00
parent 26eb9600ca
commit 4cfc3790f7
3 changed files with 326 additions and 475 deletions
+45 -41
View File
@@ -162,45 +162,43 @@ function um_ajax_get_members( directory, args ) {
var local_date = new Date();
var gmt_hours = -local_date.getTimezoneOffset()/60;
//var request =;
var request = {
directory_id: hash,
page: page,
search: search,
sorting: sorting,
nonce: um_scripts.nonce
};
// if ( directory.find('.um-search-filter').length ) {
// directory.find('.um-search-filter').each( function() {
// var filter = jQuery(this);
//
// if ( filter.find( '.um-slider' ).length ) {
// var filter_name = filter.find( '.um-slider' ).data('field_name');
// var value = um_get_directory_storage( directory, 'filter_' + filter_name );
// if ( value !== null ) {
// request[ filter_name ] = value;
// request['is_filters'] = true;
// }
// } else if ( filter.find( '.um-datepicker-filter' ).length ) {
// var filter_name = filter.find( '.um-datepicker-filter' ).data('filter_name');
// var value = um_get_directory_storage( directory, 'filter_' + filter_name );
// if ( value !== null ) {
// request[ filter_name ] = value;
// request['is_filters'] = true;
// }
// } else {
// var filter_name = filter.find('select').attr('name');
// var value = um_get_directory_storage( directory, 'filter_' + filter_name );
// if ( value !== null ) {
// request[ filter_name ] = value;
// request['is_filters'] = true;
// }
// }
// });
// }
if ( directory.find('.um-search-filter').length ) {
directory.find('.um-search-filter').each( function() {
var filter = jQuery(this);
if ( filter.find( '.um-slider' ).length ) {
var filter_name = filter.find( '.um-slider' ).data('field_name');
var value = um_get_data_for_directory( directory, 'filter_' + filter_name );
if ( typeof value != 'undefined' ) {
request[ filter_name ] = value;
}
} else if ( filter.find( '.um-datepicker-filter' ).length ) {
var filter_name = filter.find( '.um-datepicker-filter' ).data('filter_name');
var value = um_get_data_for_directory( directory, 'filter_' + filter_name );
if ( typeof value != 'undefined' ) {
request[ filter_name ] = value;
}
} else {
var filter_name = filter.find('select').attr('name');
var value = um_get_data_for_directory( directory, 'filter_' + filter_name );
if ( typeof value != 'undefined' ) {
request[ filter_name ] = value;
}
}
});
}
wp.ajax.send( 'um_get_members', {
data: {
directory_id: hash,
page: page,
search: search,
sorting: sorting,
nonce: um_scripts.nonce
},
data: request,
success: function( answer ) {
//set last data hard for using on layouts reloading
um_member_directory_last_data[ hash ] = answer;
@@ -1065,23 +1063,29 @@ jQuery(document).ready( function() {
var filter_name = jQuery(this).prop('name');
var current_value = um_get_directory_storage( directory, 'filter_' + filter_name );
if ( current_value === null ) {
var current_value = um_get_data_for_directory( directory, 'filter_' + filter_name );
if ( typeof current_value == 'undefined' ) {
current_value = [];
} else {
current_value = current_value.split( '||' );
}
if ( -1 === jQuery.inArray( jQuery(this).val(), current_value ) ) {
current_value.push( jQuery(this).val() );
um_set_directory_storage( directory, 'filter_' + filter_name, current_value, true );
current_value = current_value.join( '||' );
um_set_url_from_data( directory, 'filter_' + filter_name, current_value );
//set 1st page after filtration
um_set_directory_storage( directory, 'page', 1, true );
directory.data( 'page', 1 );
um_set_url_from_data( directory, 'page', 1 );
}
jQuery(this).val('').trigger('change');
um_ajax_get_members( directory );
um_change_tag( directory );
//um_change_tag( directory );
});
+281 -250
View File
@@ -998,281 +998,312 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
*/
function filters( $args ) {
//filters
$query = $_POST;
if ( ! empty( $args['search_filters'] ) ) {
parse_str( $args['search_filters'], $search_filters );
$filter_query = array();
if ( ! empty( $args['search_fields'] ) ) {
$search_filters = maybe_unserialize( $args['search_fields'] );
if ( ! empty( $search_filters ) && is_array( $search_filters ) ) {
$query = array_merge( $search_filters, $query );
$filter_query = array_intersect_key( $_POST, array_flip( $search_filters ) );
}
}
unset( $query['search'] );
unset( $query['directory_id'] );
unset( $query['sorting'] );
unset( $query['page'] );
unset( $query['args'] );
unset( $query['members_page'] );
unset( $query['action'] );
unset( $query['nonce'] );
unset( $query['referrer_url'] );
unset( $query['is_filters'] );
if ( empty( $filter_query ) ) {
return;
}
if ( ! empty( $query ) && is_array( $query ) ) {
foreach ( $query as $field => $value ) {
$query = $_POST;
//$filter_data = UM()->members()->prepare_filter( $field );
foreach ( $filter_query as $field => $value ) {
if ( $value && $field != 'um_search' && $field != 'page_id' ) {
switch ( $field ) {
default:
$value = explode( '||', $value );
if ( strstr( $field, 'role_' ) ) {
$field = 'role';
}
if ( is_array( $value ) ) {
$field_query = array( 'relation' => 'OR' );
if ( ! in_array( $field, UM()->members()->core_search_fields ) ) {
if ( 'role' == $field ) {
if ( ! empty( $this->query_args['role__in'] ) ) {
$value = array_map('strtolower', $value);
$this->query_args['role__in'] = is_array( $this->query_args['role__in'] ) ? $this->query_args['role__in'] : array( $this->query_args['role__in'] );
$default_role = array_intersect( $this->query_args['role__in'], $value );
$um_role = array_diff( $value, $default_role );
foreach ($um_role as $key => &$val) {
$val = 'um_' . str_replace(' ', '-', $val);
}
$this->query_args['role__in'] = array_merge( $default_role, $um_role );
} else {
$this->query_args['role__in'] = $value;
};
} elseif ( 'birth_date' == $field ) {
$from_date = date( 'Y-m-d', mktime( 0,0,0, 1, 1, date('Y', time() - ($query['birth_date'][0] -1)*YEAR_IN_SECONDS ) ) );
$to_date = date( 'Y-m-d', mktime( 0,0,0, 1, 1, date('Y', time() - ($query['birth_date'][1] +1)*YEAR_IN_SECONDS ) ) );
$meta_query = array(
foreach ( $value as $single_val ) {
$arr_meta_query = array(
array(
'key' => 'birth_date',
'value' => array( $to_date, $from_date ),
'compare' => 'BETWEEN',
'type' => 'DATE',
'inclusive' => true,
'key' => $field,
'value' => trim( $single_val ),
'compare' => '=',
),
array(
'key' => $field,
'value' => serialize( strval( trim( $single_val ) ) ),
'compare' => 'LIKE',
),
array(
'key' => $field,
'value' => '"' . trim( $single_val ) . '"',
'compare' => 'LIKE',
)
);
$this->query_args['meta_query'] = array_merge( $this->query_args['meta_query'], array( $meta_query ) );
if ( is_numeric( $single_val ) ) {
} elseif ( 'user_registered' == $field ) {
$offset = 0;
if( isset( $query['gmt_offset'] ) ) {
$offset = (int)$query['gmt_offset'];
}
if( isset( $query['user_registered']['from'] ) ) {
$from_date = date( 'Y-m-d', strtotime( date( 'Y-m-d H:s:i', $query['user_registered']['from'] ) . "+$offset hours" ) );
}
if( isset( $query['user_registered']['to'] ) ) {
$to_date = date( 'Y-m-d', strtotime( date( 'Y-m-d H:s:i', $query['user_registered']['to'] ) . "+$offset hours" ) );
}
$date_query = array(
array(
'column' => 'user_registered',
'before' => $to_date,
'after' => $from_date,
'inclusive' => true,
),
);
$this->query_args['date_query'] = array( $date_query );
} elseif ( 'last_login' == $field ) {
$meta_query = array();
$offset = 0;
if( isset( $query['gmt_offset'] ) ) {
$offset = (int)$query['gmt_offset'];
}
if( isset( $query['last_login']['from'] ) and isset( $query['last_login']['to'] ) ) {
$from_date = (int)$query['last_login']['from'] + ( $offset * 60 * 60 ); // client time zone offset
$to_date = (int)$query['last_login']['to'] + ( $offset * 60 * 60 ) + (24 * 60 * 60 - 1); // time 23:59
$meta_query[] = array(
'key' => '_um_last_login',
'value' => array( $from_date, $to_date ),
'compare' => 'BETWEEN',
$arr_meta_query[] = array(
'key' => $field,
'value' => serialize( intval( trim( $single_val ) ) ),
'compare' => 'LIKE',
);
} else {
if( isset( $query['last_login']['from'] ) ) {
$from_date = (int)$query['last_login']['from'] + ( $offset * 60 * 60 );
$meta_query[] = array(
'key' => '_um_last_login',
'value' => $from_date,
'compare' => '>',
);
}
if( isset( $query['last_login']['to'] ) ) {
$to_date = (int)$query['last_login']['to'] + ( $offset * 60 * 60 ) + (24 * 60 * 60 - 1);
$meta_query[] = array(
'key' => '_um_last_login',
'value' => $to_date,
'compare' => '<',
);
}
}
$this->query_args['meta_query'] = array_merge( $this->query_args['meta_query'], array( $meta_query ) );
} elseif( 'gmt_offset' == $field ) {
continue;
} else {
if ( is_array( $value ) ) {
$field_query = array( 'relation' => 'OR' );
foreach ( $value as $single_val ) {
$field_query = array_merge( $field_query, array(
array(
'key' => $field,
'value' => trim( $single_val ),
'compare' => '=',
)
) );
$types = apply_filters( 'um_search_field_types', array(
'multiselect',
'radio',
'checkbox'
) );
//if ( in_array( $filter_data['attrs']['type'], $types ) ) {
$arr_meta_query = array(
array(
'key' => $field,
'value' => serialize( strval( trim( $single_val ) ) ),
'compare' => 'LIKE',
),
array(
'key' => $field,
'value' => '"' . trim( $single_val ) . '"',
'compare' => 'LIKE',
)
);
if ( is_numeric( $single_val ) ) {
$arr_meta_query[ ] = array(
'key' => $field,
'value' => serialize( intval( trim( $single_val ) ) ),
'compare' => 'LIKE',
);
}
$field_query = array_merge( $field_query, $arr_meta_query );
//}
}
} else {
$field_query = array(
array(
'key' => $field,
'value' => trim( $value ),
'compare' => '=',
),
'relation' => 'OR',
);
$types = apply_filters( 'um_search_field_types', array(
'multiselect',
'radio',
'checkbox'
) );
//if ( in_array( $filter_data['attrs']['type'], $types ) ) {
$arr_meta_query = array(
array(
'key' => $field,
'value' => serialize( strval( trim( $value ) ) ),
'compare' => 'LIKE',
),
array(
'key' => $field,
'value' => '"' . trim( $value ) . '"',
'compare' => 'LIKE',
)
);
if ( is_numeric( $value ) ) {
$arr_meta_query[ ] = array(
'key' => $field,
'value' => serialize( intval( trim( $value ) ) ),
'compare' => 'LIKE',
);
}
$field_query = array_merge( $field_query, $arr_meta_query );
//}
}
/**
* UM hook
*
* @type filter
* @title um_query_args_{$field}__filter
* @description Change field's query for search at Members Directory
* @input_vars
* [{"var":"$field_query","type":"array","desc":"Field query"}]
* @change_log
* ["Since: 2.0"]
* @usage
* <?php add_filter( 'um_query_args_{$field}__filter', 'function_name', 10, 1 ); ?>
* @example
* <?php
* add_filter( 'um_query_args_{$field}__filter', 'my_query_args_filter', 10, 1 );
* function my_query_args_filter( $field_query ) {
* // your code here
* return $field_query;
* }
* ?>
*/
$field_query = apply_filters( "um_query_args_{$field}__filter", $field_query );
$this->query_args['meta_query'] = array_merge( $this->query_args['meta_query'], array( $field_query ) );
$field_query = array_merge( $field_query, $arr_meta_query );
}
}
}
/**
* UM hook
*
* @type filter
* @title um_query_args_{$field}__filter
* @description Change field's query for search at Members Directory
* @input_vars
* [{"var":"$field_query","type":"array","desc":"Field query"}]
* @change_log
* ["Since: 2.0"]
* @usage
* <?php add_filter( 'um_query_args_{$field}__filter', 'function_name', 10, 1 ); ?>
* @example
* <?php
* add_filter( 'um_query_args_{$field}__filter', 'my_query_args_filter', 10, 1 );
* function my_query_args_filter( $field_query ) {
* // your code here
* return $field_query;
* }
* ?>
*/
$field_query = apply_filters( "um_query_args_{$field}__filter", $field_query );
$this->query_args['meta_query'] = array_merge( $this->query_args['meta_query'], array( $field_query ) );
break;
case 'role':
$value = explode( '||', $value );
$value = array_map( 'strtolower', $value );
if ( ! empty( $this->query_args['role__in'] ) ) {
$this->query_args['role__in'] = is_array( $this->query_args['role__in'] ) ? $this->query_args['role__in'] : array( $this->query_args['role__in'] );
$default_role = array_intersect( $this->query_args['role__in'], $value );
$um_role = array_diff( $value, $default_role );
foreach ( $um_role as $key => &$val ) {
$val = 'um_' . str_replace( ' ', '-', $val );
}
$this->query_args['role__in'] = array_merge( $default_role, $um_role );
} else {
$this->query_args['role__in'] = $value;
};
break;
}
}
$query = UM()->permalinks()->get_query_array();
$arr_columns = array();
foreach ( UM()->members()->core_search_fields as $key ) {
if ( ! empty( $query[ $key ] ) ) {
$arr_columns[] = $key;
$this->query_args['search'] = '*' . $query[ $key ] .'*';
}
}
if ( ! empty( $arr_columns ) ) {
$this->query_args['search_columns'] = $arr_columns;
// if ( 'role' == $field ) {
//
// if ( ! empty( $this->query_args['role__in'] ) ) {
// $value = array_map('strtolower', $value);
//
// $this->query_args['role__in'] = is_array( $this->query_args['role__in'] ) ? $this->query_args['role__in'] : array( $this->query_args['role__in'] );
// $default_role = array_intersect( $this->query_args['role__in'], $value );
// $um_role = array_diff( $value, $default_role );
//
// foreach ($um_role as $key => &$val) {
// $val = 'um_' . str_replace(' ', '-', $val);
// }
// $this->query_args['role__in'] = array_merge( $default_role, $um_role );
// } else {
// $this->query_args['role__in'] = $value;
// };
//
// } elseif ( 'birth_date' == $field ) {
// $from_date = date( 'Y-m-d', mktime( 0,0,0, 1, 1, date('Y', time() - ($query['birth_date'][0] -1)*YEAR_IN_SECONDS ) ) );
// $to_date = date( 'Y-m-d', mktime( 0,0,0, 1, 1, date('Y', time() - ($query['birth_date'][1] +1)*YEAR_IN_SECONDS ) ) );
//
// $meta_query = array(
// array(
// 'key' => 'birth_date',
// 'value' => array( $to_date, $from_date ),
// 'compare' => 'BETWEEN',
// 'type' => 'DATE',
// 'inclusive' => true,
// )
// );
//
// $this->query_args['meta_query'] = array_merge( $this->query_args['meta_query'], array( $meta_query ) );
//
// } elseif ( 'user_registered' == $field ) {
//
// $offset = 0;
//
// if( isset( $query['gmt_offset'] ) ) {
// $offset = (int)$query['gmt_offset'];
// }
//
// if( isset( $query['user_registered']['from'] ) ) {
// $from_date = date( 'Y-m-d', strtotime( date( 'Y-m-d H:s:i', $query['user_registered']['from'] ) . "+$offset hours" ) );
// }
//
// if( isset( $query['user_registered']['to'] ) ) {
// $to_date = date( 'Y-m-d', strtotime( date( 'Y-m-d H:s:i', $query['user_registered']['to'] ) . "+$offset hours" ) );
// }
//
// $date_query = array(
// array(
// 'column' => 'user_registered',
// 'before' => $to_date,
// 'after' => $from_date,
// 'inclusive' => true,
// ),
// );
//
// $this->query_args['date_query'] = array( $date_query );
//
// } elseif ( 'last_login' == $field ) {
//
// $meta_query = array();
// $offset = 0;
//
// if( isset( $query['gmt_offset'] ) ) {
// $offset = (int)$query['gmt_offset'];
// }
//
// if( isset( $query['last_login']['from'] ) and isset( $query['last_login']['to'] ) ) {
// $from_date = (int)$query['last_login']['from'] + ( $offset * 60 * 60 ); // client time zone offset
// $to_date = (int)$query['last_login']['to'] + ( $offset * 60 * 60 ) + (24 * 60 * 60 - 1); // time 23:59
//
// $meta_query[] = array(
// 'key' => '_um_last_login',
// 'value' => array( $from_date, $to_date ),
// 'compare' => 'BETWEEN',
// );
//
// } else {
//
// if( isset( $query['last_login']['from'] ) ) {
// $from_date = (int)$query['last_login']['from'] + ( $offset * 60 * 60 );
//
// $meta_query[] = array(
// 'key' => '_um_last_login',
// 'value' => $from_date,
// 'compare' => '>',
// );
// }
//
// if( isset( $query['last_login']['to'] ) ) {
// $to_date = (int)$query['last_login']['to'] + ( $offset * 60 * 60 ) + (24 * 60 * 60 - 1);
//
// $meta_query[] = array(
// 'key' => '_um_last_login',
// 'value' => $to_date,
// 'compare' => '<',
// );
// }
// }
//
// $this->query_args['meta_query'] = array_merge( $this->query_args['meta_query'], array( $meta_query ) );
//
// } elseif( 'gmt_offset' == $field ) {
// continue;
// } else {
//
// if ( is_array( $value ) ) {
// $field_query = array( 'relation' => 'OR' );
//
// foreach ( $value as $single_val ) {
// $field_query = array_merge( $field_query, array(
// array(
// 'key' => $field,
// 'value' => trim( $single_val ),
// 'compare' => '=',
// )
// ) );
//
// $types = apply_filters( 'um_search_field_types', array(
// 'multiselect',
// 'radio',
// 'checkbox'
// ) );
//
// //if ( in_array( $filter_data['attrs']['type'], $types ) ) {
//
// $arr_meta_query = array(
// array(
// 'key' => $field,
// 'value' => serialize( strval( trim( $single_val ) ) ),
// 'compare' => 'LIKE',
// ),
// array(
// 'key' => $field,
// 'value' => '"' . trim( $single_val ) . '"',
// 'compare' => 'LIKE',
// )
// );
//
// if ( is_numeric( $single_val ) ) {
//
// $arr_meta_query[ ] = array(
// 'key' => $field,
// 'value' => serialize( intval( trim( $single_val ) ) ),
// 'compare' => 'LIKE',
// );
//
// }
//
// $field_query = array_merge( $field_query, $arr_meta_query );
// //}
// }
// } else {
// $field_query = array(
// array(
// 'key' => $field,
// 'value' => trim( $value ),
// 'compare' => '=',
// ),
// 'relation' => 'OR',
// );
//
// $types = apply_filters( 'um_search_field_types', array(
// 'multiselect',
// 'radio',
// 'checkbox'
// ) );
//
// //if ( in_array( $filter_data['attrs']['type'], $types ) ) {
//
// $arr_meta_query = array(
// array(
// 'key' => $field,
// 'value' => serialize( strval( trim( $value ) ) ),
// 'compare' => 'LIKE',
// ),
// array(
// 'key' => $field,
// 'value' => '"' . trim( $value ) . '"',
// 'compare' => 'LIKE',
// )
// );
//
// if ( is_numeric( $value ) ) {
//
// $arr_meta_query[ ] = array(
// 'key' => $field,
// 'value' => serialize( intval( trim( $value ) ) ),
// 'compare' => 'LIKE',
// );
//
// }
//
// $field_query = array_merge( $field_query, $arr_meta_query );
// //}
// }
//
// $field_query = apply_filters( "um_query_args_{$field}__filter", $field_query );
// $this->query_args['meta_query'] = array_merge( $this->query_args['meta_query'], array( $field_query ) );
// }
}
}
@@ -1369,7 +1400,7 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
$this->general_search();
//$this->filters( $args );
$this->filters( $args );
/**
* UM hook
-184
View File
@@ -102,190 +102,6 @@ function um_remove_special_users_from_list( $query_args, $args ) {
//add_filter( 'um_prepare_user_query_args', 'um_remove_special_users_from_list', 99, 2 );
/**
* Adds search parameters
*
* @hooked 'um_prepare_user_query_args'
*
* @param $query_args
* @param $args
*
* @return mixed|void
*/
function um_add_search_to_query( $query_args, $args ) {
extract( $args );
if ( ! empty( $args['search_filters'] ) ) {
$_REQUEST['um_search'] = 1;
}
if ( isset( $_REQUEST['um_search'] ) ) {
$query = UM()->permalinks()->get_query_array();
if ( ! empty( $args['search_filters'] ) ) {
parse_str( $args['search_filters'], $search_filters );
if ( $search_filters && is_array( $search_filters ) ) {
$query = array_merge( $search_filters, $query );
}
}
// if searching
if ( isset( $query['search'] ) ) {
$query_args['search'] = '*' . um_filter_search( $query['search'] ) . '*';
unset( $query['search'] );
}
if ( $query && is_array( $query ) ) {
foreach ( $query as $field => $value ) {
if ( in_array( $field, array( 'members_page' ) ) ) continue;
$serialize_value = serialize( strval( $value ) );
if ( $value && $field != 'um_search' && $field != 'page_id' ) {
if ( strstr( $field, 'role_' ) )
$field = 'role';
if ( ! in_array( $field, UM()->members()->core_search_fields ) ) {
if ( 'role' == $field ) {
$query_args['role__in'] = trim( $value );
} else {
$filter_data = UM()->members()->prepare_filter( $field );
if ( $filter_data['type'] == 'select' ) {
$field_query = array(
array(
'key' => $field,
'value' => trim( $value ),
'compare' => '=',
),
'relation' => 'OR',
);
$types = apply_filters( 'um_search_field_types', array(
'multiselect',
'radio',
'checkbox'
) );
if ( in_array( $filter_data['attrs']['type'], $types ) ) {
$arr_meta_query = array(
array(
'key' => $field,
'value' => serialize( strval( trim( $value ) ) ),
'compare' => 'LIKE',
),
array(
'key' => $field,
'value' => '"' . trim( $value ) . '"',
'compare' => 'LIKE',
)
);
if( is_numeric( $value ) ){
$arr_meta_query[ ] = array(
'key' => $field,
'value' => serialize( intval( trim( $value ) ) ),
'compare' => 'LIKE',
);
}
$field_query = array_merge( $field_query, $arr_meta_query );
}
} else {
$field_query = array(
array(
'key' => $field,
'value' => trim( $value ),
'compare' => '=',
),
array(
'key' => $field,
'value' => trim( $value ),
'compare' => 'LIKE',
),
array(
'key' => $field,
'value' => trim( $serialize_value ),
'compare' => 'LIKE',
),
'relation' => 'OR',
);
}
/**
* UM hook
*
* @type filter
* @title um_query_args_{$field}__filter
* @description Change field's query for search at Members Directory
* @input_vars
* [{"var":"$field_query","type":"array","desc":"Field query"}]
* @change_log
* ["Since: 2.0"]
* @usage
* <?php add_filter( 'um_query_args_{$field}__filter', 'function_name', 10, 1 ); ?>
* @example
* <?php
* add_filter( 'um_query_args_{$field}__filter', 'my_query_args_filter', 10, 1 );
* function my_query_args_filter( $field_query ) {
* // your code here
* return $field_query;
* }
* ?>
*/
$field_query = apply_filters( "um_query_args_{$field}__filter", $field_query );
$query_args['meta_query'][] = $field_query;
}
}
}
}
}
}
/**
* UM hook
*
* @type filter
* @title um_query_args_filter
* @description Change query for search at Members Directory
* @input_vars
* [{"var":"$query_args","type":"array","desc":"Query Arguments"}]
* @change_log
* ["Since: 2.0"]
* @usage
* <?php add_filter( 'um_query_args_filter', 'function_name', 10, 1 ); ?>
* @example
* <?php
* add_filter( 'um_query_args_filter', 'my_query_args_filter', 10, 1 );
* function my_query_args_filter( $query_args ) {
* // your code here
* return $query_args;
* }
* ?>
*/
$query_args = apply_filters( 'um_query_args_filter', $query_args );
if ( isset( $query_args['meta_query'] ) && count( $query_args['meta_query'] ) == 1 )
unset( $query_args['meta_query'] );
return $query_args;
}
//add_filter( 'um_prepare_user_query_args', 'um_add_search_to_query', 50, 2 );
/**
* Adds main parameters
*