wp_style_engine_get_stylesheet_from_css_rules

函数
wp_style_engine_get_stylesheet_from_css_rules ( $css_rules, $options = array() )
参数
  • (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:
  • (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 is '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 is `false`. @type bool $prettify Whether to add new lines and indents to output. Default is the test of whether the global constant `SCRIPT_DEBUG` is defined. }
    Required:
    Default: array()
返回值
  • (string) A string of compiled CSS declarations, or empty string.
定义位置
相关方法
wp_style_engine_get_stylesheet_from_contextwp_style_engine_get_styles_preview_theme_stylesheet_filterwp_theme_get_element_class_nameget_stylesheet_uri
引入
6.1.0
弃用
-

wp_style_engine_get_stylesheet_from_css_rules。它根据CSS规则检索一个样式表: 该函数根据它所包含的CSS规则检索一个样式表。

从选择器和声明的集合中返回编译的CSS。

对于从任何CSS选择器和声明的集合中返回一个编译的样式表是很有用的。

使用示例:
$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 );
}

常见问题

FAQs
查看更多 >