← All changes
|
modules/global-classes/global-classes-rest-api.php
+7
-0
4.1.0-dev3
→
4.3.0-beta3
View file →
| @@ -362,8 +362,15 @@ | ||
| 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 | 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 ); | |
| 372 | + | |
| 366 | 373 | $order_result = $parser->parse_order( $order, $final_item_ids ); |
| 367 | 374 | |
| 368 | 375 | if ( ! $order_result->is_valid() ) { |
| 369 | 376 | return Error_Builder::make( 'invalid_order' ) |