WP_Style_Engine_CSS_Rule::get_css
Gets the CSS.
Method of the class: WP_Style_Engine_CSS_Rule{}
No Hooks.
Returns
String.
Usage
$WP_Style_Engine_CSS_Rule = new WP_Style_Engine_CSS_Rule(); $WP_Style_Engine_CSS_Rule->get_css( $should_prettify, $indent_count );
- $should_prettify(true|false)
- Whether to add spacing, new lines and indents.
Default:false - $indent_count(int)
- The number of tab indents to apply to the rule. Applies if
prettifyistrue.
Changelog
| Since 6.1.0 | Introduced. |
| Since 6.6.0 | Added support for nested CSS with rules groups. |
WP_Style_Engine_CSS_Rule::get_css() WP Style Engine CSS Rule::get css code WP 7.0
public function get_css( $should_prettify = false, $indent_count = 0 ) {
$rule_indent = $should_prettify ? str_repeat( "\t", $indent_count ) : '';
$nested_rule_indent = $should_prettify ? str_repeat( "\t", $indent_count + 1 ) : '';
$declarations_indent = $should_prettify ? $indent_count + 1 : 0;
$nested_declarations_indent = $should_prettify ? $indent_count + 2 : 0;
$suffix = $should_prettify ? "\n" : '';
$spacer = $should_prettify ? ' ' : '';
// Trims any multiple selectors strings.
$selector = $should_prettify ? implode( ',', array_map( 'trim', explode( ',', $this->get_selector() ) ) ) : $this->get_selector();
$selector = $should_prettify ? str_replace( array( ',' ), ",\n", $selector ) : $selector;
$rules_group = $this->get_rules_group();
$has_rules_group = ! empty( $rules_group );
$css_declarations = $this->declarations->get_declarations_string( $should_prettify, $has_rules_group ? $nested_declarations_indent : $declarations_indent );
if ( empty( $css_declarations ) ) {
return '';
}
if ( $has_rules_group ) {
$selector = "{$rule_indent}{$rules_group}{$spacer}{{$suffix}{$nested_rule_indent}{$selector}{$spacer}{{$suffix}{$css_declarations}{$suffix}{$nested_rule_indent}}{$suffix}{$rule_indent}}";
return $selector;
}
return "{$rule_indent}{$selector}{$spacer}{{$suffix}{$css_declarations}{$suffix}{$rule_indent}}";
}