wpseek.com
A WordPress-centric search engine for devs and theme authors



wp_style_engine_get_stylesheet_from_css_rules › WordPress Function

Since6.1.0
Deprecatedn/a
wp_style_engine_get_stylesheet_from_css_rules ( $css_rules, $options = array() )
Parameters: (2)
  • (array) $css_rules { Required. A collection of CSS rules. @type array ...$0 { @type string $rules_group A parent CSS selector in the case of nested CSS, or a CSS nested @rule, such as `@media (min-width: 80rem)` or `@layer module`. @type string $selector A CSS selector. @type string[] $declarations An associative array of CSS definitions, e.g. `array( "$property" => "$value", "$property" => "$value" )`. } }
    Required: Yes
  • (array) $options { Optional. An array of options. Default empty array. @type string|null $context An identifier describing the origin of the style object, e.g. 'block-supports' or 'global-styles'. Default 'block-supports'. When set, the style engine will attempt to store the CSS rules. @type bool $optimize Whether to optimize the CSS output, e.g. combine rules. Default false. @type bool $prettify Whether to add new lines and indents to output. Defaults to whether the `SCRIPT_DEBUG` constant is defined. }
    Required: No
    Default: array()
Returns:
  • (string) A string of compiled CSS declarations, or empty string.
Defined at:
Codex:
Change Log:
  • 6.6.0

Returns compiled CSS from a collection of selectors and declarations.

Useful for returning a compiled stylesheet from any collection of CSS selector + declarations. Example usage: $css_rules = array( array( 'selector' => '.elephant-are-cool', 'declarations' => array( 'color' => 'gray', 'width' => '3em', ), ), ); $css = wp_style_engine_get_stylesheet_from_css_rules( $css_rules ); Returns: .elephant-are-cool{color:gray;width:3em}


Source

function wp_style_engine_get_stylesheet_from_css_rules( $css_rules, $options = array() ) {
	if ( empty( $css_rules ) ) {
		return '';
	}

	$options = wp_parse_args(
		$options,
		array(
			'context' => null,
		)
	);

	$css_rule_objects = array();
	foreach ( $css_rules as $css_rule ) {
		if ( empty( $css_rule['selector'] ) || empty( $css_rule['declarations'] ) || ! is_array( $css_rule['declarations'] ) ) {
			continue;
		}

		$rules_group = $css_rule['rules_group'] ?? null;
		if ( ! empty( $options['context'] ) ) {
			WP_Style_Engine::store_css_rule( $options['context'], $css_rule['selector'], $css_rule['declarations'], $rules_group );
		}

		$css_rule_objects[] = new WP_Style_Engine_CSS_Rule( $css_rule['selector'], $css_rule['declarations'], $rules_group );
	}

	if ( empty( $css_rule_objects ) ) {
		return '';
	}

	return WP_Style_Engine::compile_stylesheet_from_css_rules( $css_rule_objects, $options );
}