wpseek.com
A WordPress-centric search engine for devs and theme authors



block_core_tabs_generate_tabs_list › WordPress Function

Since7.1.0
Deprecatedn/a
block_core_tabs_generate_tabs_list ( $innerblocks = array(), $tabs_id = '' )
Parameters: (2)
  • (array) $innerblocks Parsed inner blocks of tabs block.
    Required: No
    Default: array()
  • (string) $tabs_id Unique ID for the tabs instance, used to generate tab IDs.
    Required: No
    Default: (empty)
Returns:
  • (array) List of tab IDs.
Defined at:
Codex:

Extract tabs list from tab-panel innerblocks.



Source

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;
}