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}$css_rulesarrayrequired
...$0 arrayrules_group string@media (min-width: 80rem) or @layer module.selector stringdeclarations string[]array( "$property" => "$value", "$property" => "$value" ).$optionsarrayoptional
context string|null'block-supports' or 'global-styles'. Default 'block-supports'.optimize boolprettify boolSCRIPT_DEBUG constant is defined.Default:array()
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 );
}
You must log in before being able to contribute a note or feedback.
© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_style_engine_get_stylesheet_from_css_rules