From bbc5a2de2fba10f45a245977fd90db5617a1dad5 Mon Sep 17 00:00:00 2001 From: Boone Gorges Date: Mon, 20 Apr 2015 15:16:27 +0000 Subject: [PATCH] Ensure that 'who' param is respected when generating meta_query in `WP_User_Query`. Since [31669], the 'who' param had been parsed after meta_query was generated, so that 'who' was effectively ignored. Props imath. Fixes #32019. Built from https://develop.svn.wordpress.org/trunk@32207 git-svn-id: http://core.svn.wordpress.org/trunk@32180 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/user.php | 22 +++++++++++----------- wp-includes/version.php | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/wp-includes/user.php b/wp-includes/user.php index 9db85211b5..e602a3ece8 100644 --- a/wp-includes/user.php +++ b/wp-includes/user.php @@ -626,15 +626,22 @@ class WP_User_Query { $include = false; } - // Meta query. - $this->meta_query = new WP_Meta_Query(); - $this->meta_query->parse_query_vars( $qv ); - $blog_id = 0; if ( isset( $qv['blog_id'] ) ) { $blog_id = absint( $qv['blog_id'] ); } + if ( isset( $qv['who'] ) && 'authors' == $qv['who'] && $blog_id ) { + $qv['meta_key'] = $wpdb->get_blog_prefix( $blog_id ) . 'user_level'; + $qv['meta_value'] = 0; + $qv['meta_compare'] = '!='; + $qv['blog_id'] = $blog_id = 0; // Prevent extra meta query + } + + // Meta query. + $this->meta_query = new WP_Meta_Query(); + $this->meta_query->parse_query_vars( $qv ); + $role = ''; if ( isset( $qv['role'] ) ) { $role = trim( $qv['role'] ); @@ -775,13 +782,6 @@ class WP_User_Query { $this->query_where .= $this->get_search_sql( $search, $search_columns, $wild ); } - if ( isset( $qv['who'] ) && 'authors' == $qv['who'] && $blog_id ) { - $qv['meta_key'] = $wpdb->get_blog_prefix( $blog_id ) . 'user_level'; - $qv['meta_value'] = 0; - $qv['meta_compare'] = '!='; - $qv['blog_id'] = $blog_id = 0; // Prevent extra meta query - } - if ( ! empty( $include ) ) { // Sanitized earlier. $ids = implode( ',', $include ); diff --git a/wp-includes/version.php b/wp-includes/version.php index 8e550266dd..f932d925c1 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.2-RC1-32178'; +$wp_version = '4.2-RC1-32207'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.