diff --git a/lib/compat/wordpress-6.5/fonts/class-wp-font-library.php b/lib/compat/wordpress-6.5/fonts/class-wp-font-library.php index 0921d29c7b1c43..141dff730a15fc 100644 --- a/lib/compat/wordpress-6.5/fonts/class-wp-font-library.php +++ b/lib/compat/wordpress-6.5/fonts/class-wp-font-library.php @@ -117,14 +117,13 @@ public function get_font_collections() { * @since 6.5.0 * * @param string $slug Font collection slug. - * @return WP_Font_Collection|WP_Error Font collection object, - * or WP_Error object if the font collection doesn't exist. + * @return WP_Font_Collection|null Font collection object, or null if the font collection doesn't exist. */ public function get_font_collection( $slug ) { if ( $this->is_collection_registered( $slug ) ) { return $this->collections[ $slug ]; } - return new WP_Error( 'font_collection_not_found', __( 'Font collection not found.', 'gutenberg' ) ); + return null; } /** diff --git a/lib/compat/wordpress-6.5/fonts/class-wp-rest-font-collections-controller.php b/lib/compat/wordpress-6.5/fonts/class-wp-rest-font-collections-controller.php index 90ee80649bb489..10f77ddc4b3a46 100644 --- a/lib/compat/wordpress-6.5/fonts/class-wp-rest-font-collections-controller.php +++ b/lib/compat/wordpress-6.5/fonts/class-wp-rest-font-collections-controller.php @@ -144,10 +144,9 @@ public function get_item( $request ) { $slug = $request->get_param( 'slug' ); $collection = WP_Font_Library::get_instance()->get_font_collection( $slug ); - // If the collection doesn't exist returns a 404. - if ( is_wp_error( $collection ) ) { - $collection->add_data( array( 'status' => 404 ) ); - return $collection; + // @TODO: remove `is_wp_error` check once WP trunk is updated to return null when a collection is not found. + if ( ! $collection || is_wp_error( $collection ) ) { + return new WP_Error( 'rest_font_collection_not_found', __( 'Font collection not found.' ), array( 'status' => 404 ) ); } return $this->prepare_item_for_response( $collection, $request ); diff --git a/phpunit/tests/fonts/font-library/wpRestFontCollectionsController.php b/phpunit/tests/fonts/font-library/wpRestFontCollectionsController.php index df2daccb5d24f0..0f7fe8f9c662bb 100644 --- a/phpunit/tests/fonts/font-library/wpRestFontCollectionsController.php +++ b/phpunit/tests/fonts/font-library/wpRestFontCollectionsController.php @@ -121,7 +121,7 @@ public function test_get_item_invalid_slug() { wp_set_current_user( self::$admin_id ); $request = new WP_REST_Request( 'GET', '/wp/v2/font-collections/non-existing-collection' ); $response = rest_get_server()->dispatch( $request ); - $this->assertErrorResponse( 'font_collection_not_found', $response, 404 ); + $this->assertErrorResponse( 'rest_font_collection_not_found', $response, 404 ); } /**