PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.1
Elementor Website Builder – more than just a page builder v4.3.1
4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 All 454 releases
← All changes | modules/global-classes/global-classes-rest-api.php +9 -2 4.1.0-dev34.3.1 View file →
@@ -255,9 +255,9 @@
255 255
256 256 $repository = $this->get_repository()->set_preview( $is_preview );
257 257 $global_order = array_keys( $repository->all_labels() );
258 258 $filtered_order = array_values( array_intersect( $global_order, $document_class_ids ) );
259 - $items = $repository->get_by_ids( $document_class_ids );
259 + $items = $repository->get_by_ids( $filtered_order );
260 260
261 261 $result = [];
262 262
263 263 foreach ( $document_class_ids as $id ) {
@@ -283,9 +283,9 @@
283 283
284 284 $repository = $this->get_repository()->set_preview( $is_preview );
285 285 $global_order = array_keys( $repository->all_labels() );
286 286 $filtered_order = array_values( array_intersect( $global_order, $requested_ids ) );
287 - $items = $repository->get_by_ids( $requested_ids );
287 + $items = $repository->get_by_ids( $filtered_order );
288 288
289 289 $result = [];
290 290
291 291 foreach ( $requested_ids as $id ) {
@@ -361,8 +361,15 @@
361 361 }
362 362 }
363 363
364 364 $final_item_ids = array_keys( $this->merge_touched_with_existing_labels( $all_label_by_id, $touched_items, $deleted_ids ) );
365 +
366 + $final_item_ids_set = array_flip( $final_item_ids );
367 + $order_set = array_flip( $order );
368 +
369 + $order = array_values( array_filter( $order, fn( $id ) => isset( $final_item_ids_set[ $id ] ) ) );
370 + $missing_from_order = array_values( array_filter( $final_item_ids, fn( $id ) => ! isset( $order_set[ $id ] ) ) );
371 + $order = array_merge( $order, $missing_from_order );
365 372
366 373 $order_result = $parser->parse_order( $order, $final_item_ids );
367 374
368 375 if ( ! $order_result->is_valid() ) {