wpseek.com
A WordPress-centric search engine for devs and theme authors
wp_get_block_state_element_selectors › WordPress Function
Since7.1.0
Deprecatedn/a
› wp_get_block_state_element_selectors ( $root_selector )
| Parameters: |
|
| Returns: |
|
| Defined at: |
|
| Codex: |
Generates all element selectors for a block root selector.
Source
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;
}