wp_style_engine_get_stylesheet_from_css_rules()
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}
Хуков нет.
Возвращает
Строку
. A string of compiled CSS declarations, or empty string.
Использование
wp_style_engine_get_stylesheet_from_css_rules( $css_rules, $options );
- $css_rules(массив) (обязательный)
Required. A collection of CSS rules.
-
...$0(массив)
-
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. -
selector(строка)
A CSS selector. - declarations(string[])
An associative array of CSS definitions, e.g. array( "$property" => "$value", "$property" => "$value" ).
-
-
- $options(массив)
An array of options.
По умолчанию: empty array
-
context(строка|null)
An identifier describing the origin of the style object, e.g. 'block-supports' or 'global-styles'. When set, the style engine will attempt to store the CSS rules.
По умолчанию: 'block-supports' -
optimize(true|false)
Whether to optimize the CSS output, e.g. combine rules.
По умолчанию: false - prettify(true|false)
Whether to add new lines and indents to output.
По умолчанию: whether the SCRIPT_DEBUG constant is defined
-
Список изменений
С версии 6.1.0 | Введена. |
С версии 6.6.0 | Added support for $rules_group in the $css_rules array. |
Код wp_style_engine_get_stylesheet_from_css_rules() wp style engine get stylesheet from css rules WP 6.7.1
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 ); }