Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Use non-empty Nav post as fallback
  • Loading branch information
getdave committed Nov 23, 2021
commit 33995bc4385539db61af66b4ac64aa3aeb2af1d5
34 changes: 30 additions & 4 deletions packages/block-library/src/navigation/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -221,12 +221,38 @@ function( $block ) {
$is_fallback = true; // indicate we are rendering the fallback.
$attributes['__unstableMaxPages'] = 4; // set value to be passed as context to Page List block.

$page_list_block = array(
'blockName' => 'core/page-list',
'attrs' => array(),
$navigation_posts = get_posts(
array(
'post_type' => 'wp_navigation',
)
);

$inner_blocks = new WP_Block_List( array( $page_list_block ), $attributes );
$navigation_post = null;

// Pick first non-empty Navigation.
foreach ( $navigation_posts as $navigation_maybe ) {
if ( ! empty( $navigation_maybe->post_content ) ) {
$navigation_post = $navigation_maybe;
break;
}
}

// Use non-empty Navigation if available.
if ( $navigation_post ) {
$fallback_blocks = parse_blocks( $navigation_post->post_content );
} else {
$attributes['__unstableMaxPages'] = 4; // set value to be passed as context to Page List block.

// Requires wrapping array.
$fallback_blocks = array(
array(
'blockName' => 'core/page-list',
'attrs' => array(),
),
);
}

$inner_blocks = new WP_Block_List( $fallback_blocks, $attributes );
}

// Restore legacy classnames for submenu positioning.
Expand Down