wp_get_block_state_style_rules()WP 7.1.0

Builds compiled state style rules, preserving the selector each rule targets.

No Hooks.

Returns

array[]. State style rules.

Usage

wp_get_block_state_style_rules( $state_styles, $block_type, $rules_group );
$state_styles(array) (required)
Map of state to style array.
$block_type(WP_Block_Type) (required)
Block type.
$rules_group(string|null)
Optional CSS grouping rule, e.g. a media query.
Default: null

Changelog

Since 7.1.0 Introduced.

wp_get_block_state_style_rules() code WP 7.1

function wp_get_block_state_style_rules( $state_styles, $block_type, $rules_group = null ) {
	$css_rules       = array();
	$block_selectors = isset( $block_type->selectors ) && is_array( $block_type->selectors )
		? $block_type->selectors
		: array();

	foreach ( $state_styles as $state => $state_style ) {
		if ( empty( $state_style ) || ! is_array( $state_style ) ) {
			continue;
		}

		foreach ( wp_get_state_style_groups( $state_style, $block_selectors ) as $group ) {
			wp_add_block_state_style_rule(
				$css_rules,
				$state,
				$group['selector'],
				$group['style'],
				$rules_group
			);
		}
	}

	return $css_rules;
}