WP_Theme_JSON::compute_preset_classes( array $settings, string $selector, array $origins ): string
Given a settings array, returns the generated rulesets for the preset classes.
Parameters
-
$settings
array Required -
Settings to process.
-
$selector
string Required -
Selector wrapping the classes.
-
$origins
array Required -
List of origins to process.
Return
string The result of processing the presets.
Source
File: wp-includes/class-wp-theme-json.php
.
View all references
protected static function compute_preset_classes( $settings, $selector, $origins ) {
if ( static::ROOT_BLOCK_SELECTOR === $selector ) {
// Classes at the global level do not need any CSS prefixed,
// and we don't want to increase its specificity.
$selector = '';
}
$stylesheet = '';
foreach ( static::PRESETS_METADATA as $preset_metadata ) {
$slugs = static::get_settings_slugs( $settings, $preset_metadata, $origins );
foreach ( $preset_metadata['classes'] as $class => $property ) {
foreach ( $slugs as $slug ) {
$css_var = static::replace_slug_in_string( $preset_metadata['css_vars'], $slug );
$class_name = static::replace_slug_in_string( $class, $slug );
$stylesheet .= static::to_ruleset(
static::append_to_selector( $selector, $class_name ),
array(
array(
'name' => $property,
'value' => 'var(' . $css_var . ') !important',
),
)
);
}
}
}
return $stylesheet;
}
Changelog
Version | Description |
---|---|
5.9.0 | Added the $origins parameter. |
5.8.0 | Introduced. |