WP_Theme_JSON::get_block_styles( array $style_nodes, array $setting_nodes )
This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
Converts each style section into a list of rulesets containing the block styles to be appended to the stylesheet.
Description
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 { style-property-one: value; }
Additionally, it’ll also create new rulesets as classes for each preset value such as:
.has-value-color {
color: value;
}
.has-value-background-color {
background-color: value;
}
.has-value-font-size {
font-size: value;
}
.has-value-gradient-background {
background: value;
}
p.has-value-gradient-background {
background: value;
}
Parameters
- $style_nodes
-
(array) (Required) Nodes with styles.
- $setting_nodes
-
(array) (Required) Nodes with settings.
Return
(string) The new stylesheet.
Source
File: wp-includes/class-wp-theme-json.php
private function get_block_styles( $style_nodes, $setting_nodes ) { $block_rules = ''; foreach ( $style_nodes as $metadata ) { if ( null === $metadata['selector'] ) { continue; } $node = _wp_array_get( $this->theme_json, $metadata['path'], array() ); $selector = $metadata['selector']; $declarations = self::compute_style_properties( $node ); $block_rules .= self::to_ruleset( $selector, $declarations ); } $preset_rules = ''; foreach ( $setting_nodes as $metadata ) { if ( null === $metadata['selector'] ) { continue; } $selector = $metadata['selector']; $node = _wp_array_get( $this->theme_json, $metadata['path'], array() ); $preset_rules .= self::compute_preset_classes( $node, $selector ); } return $block_rules . $preset_rules; }
Changelog
Version | Description |
---|---|
5.8.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_theme_json/get_block_styles