From 3934b98a79ee43c6913a1d7d7cd46db01e9860dc Mon Sep 17 00:00:00 2001 From: Felipe Elia Date: Wed, 25 May 2022 11:56:49 -0300 Subject: [PATCH] Transform the `id` field into `ID` This addresses a change made in WP Core on 6.0 https://github.com/WordPress/WordPress/commit/f6ef37b050db9463d7cc0f8f841b85994062c24c#diff-26773a0cc66b5ba7b3c5108652bb2367424e6a78d4a05d1e35ff6d45701e3c07R300 --- includes/classes/Indexable/User/QueryIntegration.php | 3 +++ includes/classes/Indexable/User/User.php | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/includes/classes/Indexable/User/QueryIntegration.php b/includes/classes/Indexable/User/QueryIntegration.php index be7a748ed6..e05f04b654 100644 --- a/includes/classes/Indexable/User/QueryIntegration.php +++ b/includes/classes/Indexable/User/QueryIntegration.php @@ -107,6 +107,9 @@ public function maybe_filter_query( $results, WP_User_Query $query ) { $user->elasticsearch = true; // Super useful for debugging. foreach ( $fields as $field ) { + if ( 'id' === $field ) { + $field = 'ID'; + } $user->$field = $document[ $field ]; } diff --git a/includes/classes/Indexable/User/User.php b/includes/classes/Indexable/User/User.php index 4bbd8d3348..7f9167c415 100644 --- a/includes/classes/Indexable/User/User.php +++ b/includes/classes/Indexable/User/User.php @@ -226,8 +226,13 @@ public function format_args( $query_vars, $query ) { * Support `fields` query var. */ if ( isset( $query_vars['fields'] ) && 'all' !== $query_vars['fields'] && 'all_with_meta' !== $query_vars['fields'] ) { + $fields = (array) $query_vars['fields']; + $id_position = array_search( 'id', $fields, true ); + if ( false !== $id_position ) { + $fields[ $id_position ] = 'ID'; + } $formatted_args['_source'] = [ - 'includes' => (array) $query_vars['fields'], + 'includes' => $fields, ]; }