mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-17 13:43:38 +09:00
- fixed member directories queries;
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user