wpseek.com
WordPress开发者和主题制作者的搜索引擎



wp_style_engine_get_stylesheet_from_css_rules › WordPress Function

Since6.1.0
已弃用n/a
wp_style_engine_get_stylesheet_from_css_rules ( $css_rules, $options = array() )
参数: (2)
  • (array) $css_rules { Required. A collection of CSS rules. @type array ...$0 { @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
    默认: array()
返回:
  • (string) A string of compiled CSS declarations, or empty string.
定义在:
文档:

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}


源码

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