From a720dbf74820e0402ed6b3ee4a7d0512659aaeea Mon Sep 17 00:00:00 2001 From: Dave Smith Date: Thu, 25 Nov 2021 10:05:08 +0000 Subject: [PATCH] Create filter and improve output validity test --- packages/block-library/src/navigation/index.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/block-library/src/navigation/index.php b/packages/block-library/src/navigation/index.php index 6a3ea8646edef..40dea98a1f0d8 100644 --- a/packages/block-library/src/navigation/index.php +++ b/packages/block-library/src/navigation/index.php @@ -187,6 +187,7 @@ function( $block ) { * @return array the array of blocks to be used as a fallback. */ function block_core_navigation_get_fallback_blocks() { + // Default to a list of Pages. $fallback_blocks = array( array( @@ -206,7 +207,7 @@ function block_core_navigation_get_fallback_blocks() { $fallback_blocks = ! empty( $maybe_fallback ) ? $maybe_fallback : $fallback_blocks; } - return $fallback_blocks; + return apply_filters( 'block_core_navigation_render_fallback', $fallback_blocks ); } /** @@ -298,7 +299,13 @@ function render_block_core_navigation( $attributes, $content, $block ) { $fallback_blocks = block_core_navigation_get_fallback_blocks(); + // Fallback my have been filtered so do basic test for validity. + if ( empty( $fallback_blocks ) || ! is_array( $fallback_blocks ) ) { + return ''; + } + $inner_blocks = new WP_Block_List( $fallback_blocks, $attributes ); + } // Restore legacy classnames for submenu positioning.