PHP 8.3.27
Preview: tabs.php Size: 3.86 KB
//home7/doctorbruno/public_html/corporate-astrology.guru/wp-includes/blocks/tabs.php
<?php
/**
 * Tabs Block
 *
 * @package WordPress
 */

/**
 * Extract tabs list from tab-panel innerblocks.
 *
 * @since 7.1.0
 *
 * @param array  $innerblocks Parsed inner blocks of tabs block.
 * @param string $tabs_id     Unique ID for the tabs instance, used to generate tab IDs.
 *
 * @return array List of tab IDs.
 */
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;
}

/**
 * Filter to provide tabs list context to core/tabs and core/tab-list blocks.
 * It is more performant to do this here, once, rather than in the tabs render and tabs context filters.
 * In this way core/tabs is both a provider and a consumer of the core/tabs-list context.
 *
 * @since 7.1.0
 *
 * @param array $context      Default block context.
 * @param array $parsed_block The block being rendered.
 *
 * @return array Modified context.
 */
function block_core_tabs_provide_context( array $context, array $parsed_block ): array {
	if ( 'core/tabs' === $parsed_block['blockName'] ) {
		// Generate a unique ID for the tabs instance first, so it can be used
		// to derive stable tab IDs.
		$tabs_id                   = $parsed_block['attrs']['anchor'] ?? wp_unique_id( 'tabs_' );
		$tabs_list                 = block_core_tabs_generate_tabs_list( $parsed_block['innerBlocks'] ?? array(), $tabs_id );
		$context['core/tabs-list'] = $tabs_list;
		$context['core/tabs-id']   = $tabs_id;
	}

	return $context;
}
add_filter( 'render_block_context', 'block_core_tabs_provide_context', 10, 2 );

/**
 * Render callback for core/tabs.
 *
 * @since 7.1.0
 *
 * @param array     $attributes Block attributes.
 * @param string    $content    Block content.
 * @param \WP_Block $block      WP_Block instance.
 *
 * @return string Updated HTML.
 */
function block_core_tabs_render_block_callback( array $attributes, string $content, \WP_Block $block ): string {
	$active_tab_index = $attributes['activeTabIndex'] ?? 0;
	$tabs_list        = $block->context['core/tabs-list'] ?? array();
	$tabs_id          = $block->context['core/tabs-id'] ?? null;

	if ( empty( $tabs_id ) ) {
		// If malformed tabs, return early to avoid errors.
		return '';
	}

	$tag_processor = new WP_HTML_Tag_Processor( $content );

	$tag_processor->next_tag( array( 'class_name' => 'wp-block-tabs' ) );
	$tag_processor->set_attribute( 'data-wp-interactive', 'core/tabs' );

	$tag_processor->set_attribute(
		'data-wp-context',
		wp_json_encode(
			array(
				'tabsId'         => $tabs_id,
				'activeTabIndex' => $active_tab_index,
			)
		)
	);
	$tag_processor->set_attribute( 'data-wp-init', 'callbacks.onTabsInit' );
	$tag_processor->set_attribute( 'data-wp-on--keydown', 'actions.handleTabKeyDown' );

	$output = $tag_processor->get_updated_html();

	/**
	 * Builds a client side state for just this tabs instance, so each
	 * core/tabs block manages its own state, like context.
	 */
	wp_interactivity_state(
		'core/tabs',
		array(
			$tabs_id => $tabs_list,
		)
	);

	return $output;
}

/**
 * Registers the `core/tabs` block on the server.
 *
 * @since 7.1.0
 */
function register_block_core_tabs() {
	register_block_type_from_metadata(
		__DIR__ . '/tabs',
		array(
			'render_callback' => 'block_core_tabs_render_block_callback',
		)
	);
}
add_action( 'init', 'register_block_core_tabs' );

Directory Contents

Dirs: 115 × Files: 94
Name Size Perms Modified Actions
accordion DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
archives DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
audio DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
avatar DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
block DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
button DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
buttons DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
calendar DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
code DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
column DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
columns DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
comments DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
cover DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
details DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
embed DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
file DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
footnotes DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
freeform DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
gallery DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
group DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
heading DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
home-link DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
html DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
icon DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
image DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
list DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
list-item DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
loginout DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
math DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
missing DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
more DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
nextpage DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
page-list DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
paragraph DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
pattern DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
playlist DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
post-date DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
pullquote DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
query DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
quote DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
read-more DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
rss DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
search DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
separator DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
shortcode DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
site-logo DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
spacer DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
tab-list DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
tab-panel DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
table DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
tabs DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
tag-cloud DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
term-name DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
verse DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
video DIR
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
- drwxr-xr-x 2026-10-02 10:06:46
Edit Download
2.98 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
1.12 KB lrw-r--r-- 2025-12-03 10:55:00
Edit Download
4.28 KB lrw-r--r-- 2026-05-21 09:35:04
Edit Download
5.51 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
3.05 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
205.72 KB lrw-r--r-- 2026-08-20 16:28:53
Edit Download
18.61 KB lrw-r--r-- 2026-05-21 09:35:05
Edit Download
4.11 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
5.93 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
4.82 KB lrw-r--r-- 2026-05-21 09:35:03
Edit Download
2.09 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
2.40 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
1.82 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
1.67 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
2.03 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
4.39 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
1.88 KB lrw-r--r-- 2024-11-13 04:26:20
Edit Download
1.59 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
1.75 KB lrw-r--r-- 2024-11-13 04:26:20
Edit Download
1.23 KB lrw-r--r-- 2025-12-03 10:55:00
Edit Download
2.72 KB lrw-r--r-- 2026-05-21 09:35:04
Edit Download
6.63 KB lrw-r--r-- 2025-12-03 10:54:59
Edit Download
7.23 KB lrw-r--r-- 2026-08-20 16:28:53
Edit Download
1.46 KB lrw-r--r-- 2026-05-21 09:35:05
Edit Download
2.87 KB lrw-r--r-- 2026-09-21 23:30:04
Edit Download
1.83 KB lrw-r--r-- 2025-12-03 10:55:00
Edit Download
3.73 KB lrw-r--r-- 2026-05-21 09:35:05
Edit Download
21.82 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
1.27 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
4.59 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
4.27 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
17.23 KB lrw-r--r-- 2026-08-20 16:28:53
Edit Download
4.98 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
44 B lrw-r--r-- 2026-10-02 10:06:46
Edit Download
5.49 KB lrw-r--r-- 2026-08-06 16:27:14
Edit Download
10.21 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
3.92 KB lrw-r--r-- 2025-12-03 10:55:00
Edit Download
1.24 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
2.07 KB lrw-r--r-- 2026-08-20 16:28:53
Edit Download
4.20 KB lrw-r--r-- 2026-05-21 09:35:04
Edit Download
16.26 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
1.72 KB lrw-r--r-- 2026-05-21 09:35:04
Edit Download
10.79 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
69.23 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
361 B lrw-r--r-- 2024-07-17 04:27:02
Edit Download
13.54 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
1.11 KB lrw-r--r-- 2026-05-21 09:35:05
Edit Download
1.75 KB lrw-r--r-- 2025-04-16 04:27:52
Edit Download
2.43 KB lrw-r--r-- 2026-08-20 16:28:53
Edit Download
6.46 KB lrw-r--r-- 2026-08-20 16:28:53
Edit Download
1.49 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
1.92 KB lrw-r--r-- 2026-08-20 16:28:53
Edit Download
2.67 KB lrw-r--r-- 2025-05-01 04:26:53
Edit Download
1.25 KB lrw-r--r-- 2025-12-03 10:54:59
Edit Download
2.74 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
2.18 KB lrw-r--r-- 2025-12-03 10:54:58
Edit Download
2.61 KB lrw-r--r-- 2026-08-06 16:27:14
Edit Download
3.61 KB lrw-r--r-- 2026-08-06 16:27:14
Edit Download
4.21 KB lrw-r--r-- 2026-05-21 09:35:04
Edit Download
9.23 KB lrw-r--r-- 2026-08-20 16:28:55
Edit Download
4.69 KB lrw-r--r-- 2026-05-21 09:35:05
Edit Download
5.80 KB lrw-r--r-- 2026-08-20 16:28:53
Edit Download
3.55 KB lrw-r--r-- 2025-04-16 04:27:52
Edit Download
6.26 KB lrw-r--r-- 2026-05-21 09:35:04
Edit Download
2.09 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
1.80 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
3.59 KB lrw-r--r-- 2026-05-21 09:35:04
Edit Download
4.59 KB lrw-r--r-- 2026-05-21 09:35:05
Edit Download
3.39 KB lrw-r--r-- 2026-05-21 09:35:03
Edit Download
1.15 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
2.71 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
2.41 KB lrw-r--r-- 2026-05-21 09:35:05
Edit Download
5.56 KB lrw-r--r-- 2025-04-16 04:27:52
Edit Download
1.80 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
5.13 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
535 B lrw-r--r-- 2026-08-20 16:28:54
Edit Download
4.50 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
25.00 KB lrw-r--r-- 2026-08-20 16:28:53
Edit Download
735 B lrw-r--r-- 2024-07-17 04:27:02
Edit Download
6.19 KB lrw-r--r-- 2024-11-13 04:26:20
Edit Download
1.17 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
1.82 KB lrw-r--r-- 2025-12-03 10:54:59
Edit Download
66.02 KB lrw-r--r-- 2026-05-21 09:35:04
Edit Download
2.27 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
1.63 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
3.86 KB lrw-r--r-- 2026-08-20 16:28:53
Edit Download
1.55 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
9.73 KB lrw-r--r-- 2026-08-20 16:28:54
Edit Download
1.80 KB lrw-r--r-- 2025-12-03 10:54:58
Edit Download
1.73 KB lrw-r--r-- 2025-12-03 10:54:59
Edit Download
1.99 KB lrw-r--r-- 2026-05-21 09:35:05
Edit Download
4.41 KB lrw-r--r-- 2026-02-04 03:27:10
Edit Download
2.67 KB lrw-r--r-- 2025-12-03 10:55:00
Edit Download
2.38 KB lrw-r--r-- 2024-07-17 04:27:02
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).