block_core_navigation_set_ignored_hooked_blocks_metadata

The timeline below displays how wordpress function block_core_navigation_set_ignored_hooked_blocks_metadata has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.5

/**
 * Insert ignoredHookedBlocks meta into the Navigation block and its inner blocks.
 *
 * Given a Navigation block's inner blocks and its corresponding `wp_navigation` post object,
 * this function inserts ignoredHookedBlocks meta into it, and returns the serialized inner blocks in a
 * mock Navigation block wrapper.
 *
 * @param array   $inner_blocks Parsed inner blocks of a Navigation block.
 * @param WP_Post $post         `wp_navigation` post object corresponding to the block.
 * @return string Serialized inner blocks in mock Navigation block wrapper, with hooked blocks inserted, if any.
 */
function block_core_navigation_set_ignored_hooked_blocks_metadata($inner_blocks, $post)
{
    $mock_navigation_block = block_core_navigation_mock_parsed_block($inner_blocks, $post);
    $hooked_blocks = get_hooked_blocks();
    $before_block_visitor = null;
    $after_block_visitor = null;
    if (!empty($hooked_blocks) || has_filter('hooked_block_types')) {
        $before_block_visitor = make_before_block_visitor($hooked_blocks, $post, 'set_ignored_hooked_blocks_metadata');
        $after_block_visitor = make_after_block_visitor($hooked_blocks, $post, 'set_ignored_hooked_blocks_metadata');
    }
    return traverse_and_serialize_block($mock_navigation_block, $before_block_visitor, $after_block_visitor);
}