diff --git a/lib/class-wp-rest-image-editor-controller.php b/lib/class-wp-rest-image-editor-controller.php index cdb05b498f98fa..ebf3ea1b916c9c 100644 --- a/lib/class-wp-rest-image-editor-controller.php +++ b/lib/class-wp-rest-image-editor-controller.php @@ -147,7 +147,15 @@ public function apply_edits( $request ) { return new WP_Error( 'rest_image_not_edited', $error, array( 'status' => 400 ) ); } - $image_editor = wp_get_image_editor( $image_file ); + // If the file doesn't exist, attempt a URL fopen on the src link. + // This can occur with certain file replication plugins. + // Keep the original file path to get a modified name later. + $image_file_to_edit = $image_file; + if ( ! file_exists( $image_file_to_edit ) ) { + $image_file_to_edit = _load_image_to_edit_path( $attachment_id ); + } + + $image_editor = wp_get_image_editor( $image_file_to_edit ); if ( is_wp_error( $image_editor ) ) { // This image cannot be edited.