wpseek.com
Eine auf WordPress spezialiserte Suchmaschine für Entwickler und Theme-Autoren



wp_get_block_state_element_selectors › WordPress Function

Seit7.1.0
Veraltetn/v
wp_get_block_state_element_selectors ( $root_selector )
Parameter:
  • (string) $root_selector The block root CSS selector.
    Erforderlich: Ja
Gibt zurück:
  • (string[]) Element selectors keyed by element name.
Definiert in:
Codex:

Generates all element selectors for a block root selector.



Quellcode

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