wp_style_engine_get_stylesheet_from_css_rules( array $css_rules, array $options = array() ): string

Returns compiled CSS from a collection of selectors and declarations.


Description

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


Top ↑

Parameters

$css_rules array Required
Required. A collection of CSS rules.
  • ...$0 array
    • selector string
      A CSS selector.
    • declarations string[]
      An associative array of CSS definitions, e.g., array( "$property" => "$value", "$property" => "$value" ).
$options array Optional
An array of options.
  • context string|null
    An identifier describing the origin of the style object, e.g., 'block-supports' or 'global-styles'. Default is 'block-supports'.
    When set, the style engine will attempt to store the CSS rules.
  • optimize bool
    Whether to optimize the CSS output, e.g., combine rules. Default is false.
  • prettify bool
    Whether to add new lines and indents to output. Default is the test of whether the global constant SCRIPT_DEBUG is defined.

Default: array()


Top ↑

Return

string A string of compiled CSS declarations, or empty string.


Top ↑

Source

File: wp-includes/style-engine.php. View all references

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

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

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

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

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


Top ↑

Changelog

Changelog
Version Description
6.1.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.