block_core_navigation_insert_hooked_blocks()
Insert hooked blocks into a Navigation block.
Given a Navigation block's inner blocks and its corresponding wp_navigation post object, this function inserts hooked blocks into it, and returns the serialized inner blocks in a mock Navigation block wrapper.
If there are any hooked blocks that need to be inserted as the Navigation block's first or last children, the wp_navigation post's _wp_ignored_hooked_blocks meta is checked to see if any of those hooked blocks should be exempted from insertion.
Хуков нет.
Возвращает
Строку
. Serialized inner blocks in mock Navigation block wrapper, with hooked blocks inserted, if any.
Использование
block_core_navigation_insert_hooked_blocks( $inner_blocks, $post );
- $inner_blocks(массив) (обязательный)
- Parsed inner blocks of a Navigation block.
- $post(WP_Post) (обязательный)
- wp_navigation post object corresponding to the block.
Список изменений
С версии 6.5.0 | Введена. |
Код block_core_navigation_insert_hooked_blocks() block core navigation insert hooked blocks WP 6.7.1
function block_core_navigation_insert_hooked_blocks( $inner_blocks, $post ) { $mock_navigation_block = block_core_navigation_mock_parsed_block( $inner_blocks, $post ); if ( function_exists( 'apply_block_hooks_to_content' ) ) { $mock_navigation_block_markup = serialize_block( $mock_navigation_block ); return apply_block_hooks_to_content( $mock_navigation_block_markup, $post, 'insert_hooked_blocks' ); } $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, 'insert_hooked_blocks' ); $after_block_visitor = make_after_block_visitor( $hooked_blocks, $post, 'insert_hooked_blocks' ); } return traverse_and_serialize_block( $mock_navigation_block, $before_block_visitor, $after_block_visitor ); }