From 5e46d946876854bfe0f0a3db814797dbe1741140 Mon Sep 17 00:00:00 2001 From: Ultimate Member Date: Thu, 17 Dec 2015 14:42:15 +0200 Subject: [PATCH] Prevents php warning if $query is not array --- core/um-filters-members.php | 62 +++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/core/um-filters-members.php b/core/um-filters-members.php index 43921fd7..ec97cf23 100644 --- a/core/um-filters-members.php +++ b/core/um-filters-members.php @@ -62,39 +62,41 @@ $query = $ultimatemember->permalinks->get_query_array(); - foreach( $query as $field => $value ) { + if ( $query && is_array( $query ) ) { + foreach( $query as $field => $value ) { - if(in_array($field, array('members_page'))) continue; - - if ( in_array( $field, array('gender') ) ) { - $operator = '='; - } else { - $operator = 'LIKE'; - } - - if ( in_array( $ultimatemember->fields->get_field_type( $field ), array('checkbox','multiselect') ) ) { - $operator = 'LIKE'; - } - - if ( $value && $field != 'um_search' && $field != 'page_id' ) { - - if ( !in_array( $field, $ultimatemember->members->core_search_fields ) ) { - - if ( strstr($field, 'role_' ) ) { - $field = 'role'; - $operator = '='; - } - - $query_args['meta_query'][] = array( - 'key' => $field, - 'value' => $value, - 'compare' => $operator, - ); - + if(in_array($field, array('members_page'))) continue; + + if ( in_array( $field, array('gender') ) ) { + $operator = '='; + } else { + $operator = 'LIKE'; } - + + if ( in_array( $ultimatemember->fields->get_field_type( $field ), array('checkbox','multiselect') ) ) { + $operator = 'LIKE'; + } + + if ( $value && $field != 'um_search' && $field != 'page_id' ) { + + if ( !in_array( $field, $ultimatemember->members->core_search_fields ) ) { + + if ( strstr($field, 'role_' ) ) { + $field = 'role'; + $operator = '='; + } + + $query_args['meta_query'][] = array( + 'key' => $field, + 'value' => $value, + 'compare' => $operator, + ); + + } + + } + } - } }