WP_Style_Engine::parse_block_styles() – Returns classnames and CSS based on the values in a styles object.
You appear to be a bot. Output may be restricted
Description
Returns classnames and CSS based on the values in a styles object.
Return values are parsed based on the instructions in BLOCK_STYLE_DEFINITIONS_METADATA.
Usage
$array = WP_Style_Engine::parse_block_styles( $block_styles, $options );
Parameters
- $block_styles
- ( array ) required – The style object.
- $options
- ( array ) required – { Optional. An array of options. Default empty array.
- $convert_vars_to_classnames
- ( bool ) required – Whether to skip converting incoming CSS var patterns, e.g., `var:preset|<PRESET_TYPE>|<PRESET_SLUG>`, to var( –wp–preset–* ) values. Default `false`.
- $selector
- ( string ) required – Optional. When a selector is passed, the value of
$css
in the return value will comprise a full CSS rule `$selector { …$css_declarations }`, otherwise, the value will be a concatenated string of CSS declarations. } - $classnames
- ( string ) required – Classnames separated by a space.
- $declarations
- ( string[] ) required – An associative array of CSS definitions, e.g., array( "$property" => "$value", "$property" => "$value" ). }
Returns
array {
Source
File name: wordpress/wp-includes/style-engine/class-wp-style-engine.php
Lines:
1 to 29 of 29
public static function parse_block_styles( $block_styles, $options ) { $parsed_styles = array( 'classnames' => array(), 'declarations' => array(), ); if ( empty( $block_styles ) || ! is_array( $block_styles ) ) { return $parsed_styles; } // Collect CSS and classnames. foreach ( static::BLOCK_STYLE_DEFINITIONS_METADATA as $definition_group_key => $definition_group_style ) { if ( empty( $block_styles[ $definition_group_key ] ) ) { continue; } foreach ( $definition_group_style as $style_definition ) { $style_value = _wp_array_get( $block_styles, $style_definition['path'], null ); if ( ! static::is_valid_style_value( $style_value ) ) { continue; } $parsed_styles['classnames'] = array_merge( $parsed_styles['classnames'], static::get_classnames( $style_value, $style_definition ) ); $parsed_styles['declarations'] = array_merge( $parsed_styles['declarations'], static::get_css_declarations( $style_value, $style_definition, $options ) ); } } return $parsed_styles; }