- fixed member directories queries;

This commit is contained in:
nikitasinelnikov
2020-01-13 17:31:25 +02:00
parent be777c2b55
commit 5088073032
2 changed files with 5 additions and 12 deletions
@@ -356,7 +356,7 @@ if ( ! class_exists( 'um\core\Member_Directory_Meta' ) ) {
$this->joins[] = "LEFT JOIN {$wpdb->prefix}um_metadata {$join_slug}{$i} ON {$join_slug}{$i}.user_id = u.ID";
$this->where_clauses[] = $wpdb->prepare( "( {$join_slug}{$i}.um_key = 'birth_date' AND {$join_slug}{$i}.um_value BETWEEN %s AND %s )", $from_date, $to_date );
$this->where_clauses[] = $wpdb->prepare( "( {$join_slug}{$i}.um_key = 'birth_date' AND {$join_slug}{$i}.um_value BETWEEN %s AND %s )", $to_date, $from_date );
if ( ! $is_default ) {
$this->custom_filters_in_query[ $field ] = array( $to_date, $from_date );
@@ -719,13 +719,6 @@ if ( ! class_exists( 'um\core\Member_Directory_Meta' ) ) {
global $wpdb;
/*var_dump( "SELECT SQL_CALC_FOUND_ROWS DISTINCT u.ID
FROM {$wpdb->users} AS u
{$sql_join}
WHERE 1=1 {$sql_where}
{$this->sql_order}
{$this->sql_limit}" );*/
$user_ids = $wpdb->get_col(
"SELECT SQL_CALC_FOUND_ROWS DISTINCT u.ID
FROM {$wpdb->users} AS u
+4 -4
View File
@@ -780,12 +780,12 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
}
case 'birth_date': {
global $wpdb;
$meta = $wpdb->get_col( "SELECT DISTINCT meta_value FROM {$wpdb->usermeta} WHERE meta_key='birth_date' ORDER BY meta_value DESC" );
$meta = $wpdb->get_row( "SELECT MIN( meta_value ) as min_meta, MAX( meta_value ) as max_meta, COUNT( DISTINCT meta_value ) as amount FROM {$wpdb->usermeta} WHERE meta_key='birth_date'", ARRAY_A );
if ( empty( $meta ) || count( $meta ) === 1 ) {
if ( empty( $meta ) || ! isset( $meta['amount'] ) || $meta['amount'] === 1 ) {
$range = false;
} elseif ( ! empty( $meta ) ) {
$range = array( $this->borndate( strtotime( $meta[0] ) ), $this->borndate( strtotime( $meta[ count( $meta ) - 1 ] ) ) );
} elseif ( ! empty( $meta['min_meta'] ) && ! empty( $meta['max_meta'] ) ) {
$range = array( $this->borndate( strtotime( $meta['max_meta'] ) ), $this->borndate( strtotime( $meta['min_meta'] ) ) );
}
break;