block_core_tabs_generate_tabs_list() │ WP 7.1.0

Extract tabs list from tab-panel innerblocks.

Хуков нет.

Возвращает

array. List of tab IDs.

Использование

block_core_tabs_generate_tabs_list( $innerblocks, $tabs_id ): array;
$innerblocks(массив)
Parsed inner blocks of tabs block.
По умолчанию: array()
$tabs_id(строка)
Unique ID for the tabs instance, used to generate tab IDs.
По умолчанию: ''

Список изменений

С версии 7.1.0 Введена.

Код block_core_tabs_generate_tabs_list() WP 7.1.3

function block_core_tabs_generate_tabs_list( array $innerblocks = array(), string $tabs_id = '' ): array {
	$tabs_list = array();

	// Find tab-panel block
	foreach ( $innerblocks as $inner_block ) {
		if ( 'core/tab-panels' === ( $inner_block['blockName'] ?? '' ) ) {
			$tab_index = 0;
			foreach ( $inner_block['innerBlocks'] ?? array() as $tab_block ) {
				if ( 'core/tab-panel' === ( $tab_block['blockName'] ?? '' ) ) {
					$attrs = $tab_block['attrs'] ?? array();

					$tab_id = ! empty( $attrs['anchor'] )
						? $attrs['anchor']
						: ( ! empty( $tabs_id )
							? $tabs_id . '-tab-' . $tab_index
							: 'tab-' . $tab_index );

					$tabs_list[] = esc_attr( $tab_id );
					++$tab_index;
				}
			}
			break;
		}
	}

	return $tabs_list;
}