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

 View on GitHub View on Trac