From 6f58ffd91007f942bd5d953503c2b39a4e433fef Mon Sep 17 00:00:00 2001 From: Felipe Elia Date: Thu, 28 Sep 2023 17:33:18 -0300 Subject: [PATCH] Aggregate different errors by type --- includes/classes/IndexHelper.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/includes/classes/IndexHelper.php b/includes/classes/IndexHelper.php index 811b76fd54..be1bd38d3c 100644 --- a/includes/classes/IndexHelper.php +++ b/includes/classes/IndexHelper.php @@ -1481,11 +1481,20 @@ protected function build_message_errors_data( $messages ) : array { $messages = (array) $messages; $error_interpreter = new \ElasticPress\ElasticsearchErrorInterpreter(); - $errors_data = []; + $errors_list = []; foreach ( $messages as $message ) { - $errors_data[] = $error_interpreter->maybe_suggest_solution_for_es( $message ); + $error = $error_interpreter->maybe_suggest_solution_for_es( $message ); + + if ( ! isset( $errors_list[ $error['error'] ] ) ) { + $errors_list[ $error['error'] ] = [ + 'solution' => $error['solution'], + 'count' => 1, + ]; + } else { + $errors_list[ $error['error'] ]['count']++; + } } - return $errors_data; + return $errors_list; } /**