diff --git a/lib/compat/wordpress-6.6/class-gutenberg-rest-templates-controller-6-6.php b/lib/compat/wordpress-6.6/class-gutenberg-rest-templates-controller-6-6.php index 4a25e06608235..525801cbb7f83 100644 --- a/lib/compat/wordpress-6.6/class-gutenberg-rest-templates-controller-6-6.php +++ b/lib/compat/wordpress-6.6/class-gutenberg-rest-templates-controller-6-6.php @@ -84,6 +84,10 @@ public function get_template_fallback( $request ) { array_shift( $hierarchy ); } while ( ! empty( $hierarchy ) && empty( $fallback_template->content ) ); + if ( ! $fallback_template ) { + return new WP_Error( 'rest_template_not_found', __( 'No fallback templates exist for that slug.', 'default' ), array( 'status' => 404 ) ); + } + $response = $this->prepare_item_for_response( $fallback_template, $request ); return rest_ensure_response( $response ); diff --git a/packages/edit-post/src/store/selectors.js b/packages/edit-post/src/store/selectors.js index 791b384d1e818..7c26950b27822 100644 --- a/packages/edit-post/src/store/selectors.js +++ b/packages/edit-post/src/store/selectors.js @@ -615,10 +615,13 @@ export const getEditedPostTemplate = createRegistrySelector( const defaultTemplateId = select( coreStore ).getDefaultTemplateId( { slug: slugToCheck, } ); - return select( coreStore ).getEditedEntityRecord( - 'postType', - 'wp_template', - defaultTemplateId - ); + + return defaultTemplateId + ? select( coreStore ).getEditedEntityRecord( + 'postType', + 'wp_template', + defaultTemplateId + ) + : null; } );