diff --git a/src/wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php b/src/wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php index 9073df73a2..f46357c054 100644 --- a/src/wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php +++ b/src/wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php @@ -460,7 +460,15 @@ class WP_REST_Attachments_Controller extends WP_REST_Posts_Controller { ); } - $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 ) ) { return new WP_Error(