WP_Theme_JSON::get_css_variables()
Converts each styles section into a list of rulesets to be appended to the stylesheet. These rulesets contain all the css variables (custom variables and preset variables).
See glossary at https://developer.mozilla.org/en-US/docs/Web/CSS/Syntax
For each section this creates a new ruleset such as:
block-selector { --wp--preset--category--slug: value; --wp--custom--variable: value; }
Method of the class: WP_Theme_JSON{}
No Hooks.
Return
String
. The new stylesheet.
Usage
// protected - for code of main (parent) or child class $result = $this->get_css_variables( $nodes, $origins );
- $nodes(array) (required)
- Nodes with settings.
- $origins(string[]) (required)
- List of origins to process.
Changelog
Since 5.8.0 | Introduced. |
Since 5.9.0 | Added the $origins parameter. |
WP_Theme_JSON::get_css_variables() WP Theme JSON::get css variables code WP 6.7.2
protected function get_css_variables( $nodes, $origins ) { $stylesheet = ''; foreach ( $nodes as $metadata ) { if ( null === $metadata['selector'] ) { continue; } $selector = $metadata['selector']; $node = _wp_array_get( $this->theme_json, $metadata['path'], array() ); $declarations = static::compute_preset_vars( $node, $origins ); $theme_vars_declarations = static::compute_theme_vars( $node ); foreach ( $theme_vars_declarations as $theme_vars_declaration ) { $declarations[] = $theme_vars_declaration; } $stylesheet .= static::to_ruleset( $selector, $declarations ); } return $stylesheet; }