wpseek.com
A WordPress-centric search engine for devs and theme authors
wp_get_state_style_groups › WordPress Function
Since7.1.0
Deprecatedn/a
› wp_get_state_style_groups ( $state_style, $block_selectors )
| Parameters: (2) |
|
| Returns: |
|
| Defined at: |
|
| Codex: |
Splits a state style object into groups based on block feature selectors.
Source
function wp_get_state_style_groups( $state_style, $block_selectors ) {
$groups = array();
foreach ( $state_style as $feature => $feature_styles ) {
$feature_selectors = $block_selectors[ $feature ] ?? null;
if ( is_string( $feature_selectors ) ) {
wp_add_state_style_group(
$groups,
$feature_selectors,
array( $feature => $feature_styles )
);
continue;
}
if ( is_array( $feature_selectors ) && is_array( $feature_styles ) ) {
$remaining_styles = $feature_styles;
foreach ( $feature_selectors as $subfeature => $subfeature_selector ) {
if (
'root' === $subfeature ||
! is_string( $subfeature_selector ) ||
! array_key_exists( $subfeature, $feature_styles )
) {
continue;
}
wp_add_state_style_group(
$groups,
$subfeature_selector,
array(
$feature => array(
$subfeature => $feature_styles[ $subfeature ],
),
)
);
unset( $remaining_styles[ $subfeature ] );
}
if ( array() !== $remaining_styles ) {
wp_add_state_style_group(
$groups,
$feature_selectors['root'] ?? ( $block_selectors['root'] ?? null ),
array( $feature => $remaining_styles )
);
}
continue;
}
wp_add_state_style_group(
$groups,
$block_selectors['root'] ?? null,
array( $feature => $feature_styles )
);
}
return array_values( $groups );
}