wp-includes/block-supports/states.php:307Generates all element selectors for a block root selector.
$root_selectorstringstring[]function wp_get_block_state_element_selectors( $root_selector ) { if ( ! is_string( $root_selector ) || '' === trim( $root_selector ) ) { return array(); } $block_selectors = wp_split_selector_list( $root_selector ); $element_selectors = array(); foreach ( WP_Theme_JSON::ELEMENTS as $element_name => $element_selector ) { $selectors = array(); foreach ( $block_selectors as $block_selector ) { $block_selector = trim( $block_selector ); if ( '' === $block_selector ) { continue; } if ( $block_selector === $element_selector ) { $selectors = array( $element_selector ); break; } $selector_prefix = "$block_selector "; if ( ! str_contains( $element_selector, ',' ) ) { $selectors[] = $selector_prefix . $element_selector; continue; } $prepended_selectors = array(); foreach ( wp_split_selector_list( $element_selector ) as $selector ) { $prepended_selectors[] = $selector_prefix . $selector; } $selectors[] = implode( ',', $prepended_selectors ); } if ( ! empty( $selectors ) ) { $element_selectors[ $element_name ] = implode( ',', $selectors ); } } return $element_selectors;}Introduced in 7.1.0.
Signature, return type and hooks compared across 1 parsed release.
src/wp-includes/block-supports/states.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.