WP_Navigation_Block_Renderer::get_inner_blocks_html()
Returns the html for the inner blocks of the navigation block.
Метод класса: WP_Navigation_Block_Renderer{}
Хуков нет.
Возвращает
Строку
. Returns the html for the inner blocks of the navigation block.
Использование
$result = WP_Navigation_Block_Renderer::get_inner_blocks_html( $attributes, $inner_blocks );
- $attributes(массив) (обязательный)
- The block attributes.
- $inner_blocks(WP_Block_List) (обязательный)
- The list of inner blocks.
Список изменений
С версии 6.5.0 | Введена. |
Код WP_Navigation_Block_Renderer::get_inner_blocks_html() WP Navigation Block Renderer::get inner blocks html WP 6.7.1
private static function get_inner_blocks_html( $attributes, $inner_blocks ) { $has_submenus = static::has_submenus( $inner_blocks ); $is_interactive = static::is_interactive( $attributes, $inner_blocks ); $style = static::get_styles( $attributes ); $class = static::get_classes( $attributes ); $container_attributes = get_block_wrapper_attributes( array( 'class' => 'wp-block-navigation__container ' . $class, 'style' => $style, ) ); $inner_blocks_html = ''; $is_list_open = false; foreach ( $inner_blocks as $inner_block ) { $inner_block_markup = static::get_markup_for_inner_block( $inner_block ); $p = new WP_HTML_Tag_Processor( $inner_block_markup ); $is_list_item = $p->next_tag( 'LI' ); if ( $is_list_item && ! $is_list_open ) { $is_list_open = true; $inner_blocks_html .= sprintf( '<ul %1$s>', $container_attributes ); } if ( ! $is_list_item && $is_list_open ) { $is_list_open = false; $inner_blocks_html .= '</ul>'; } $inner_blocks_html .= $inner_block_markup; } if ( $is_list_open ) { $inner_blocks_html .= '</ul>'; } // Add directives to the submenu if needed. if ( $has_submenus && $is_interactive ) { $tags = new WP_HTML_Tag_Processor( $inner_blocks_html ); $inner_blocks_html = block_core_navigation_add_directives_to_submenu( $tags, $attributes ); } return $inner_blocks_html; }