WP_Theme_JSON::compute_preset_classes()protected staticWP 5.8.0

Given a settings array, returns the generated rulesets for the preset classes.

Метод класса: WP_Theme_JSON{}

Хуков нет.

Возвращает

Строку. The result of processing the presets.

Использование

$result = WP_Theme_JSON::compute_preset_classes( $settings, $selector, $origins );
$settings(массив) (обязательный)
Settings to process.
$selector(строка) (обязательный)
Selector wrapping the classes.
$origins(массив) (обязательный)
List of origins to process.

Список изменений

С версии 5.8.0 Введена.
С версии 5.9.0 Added the $origins parameter.

Код WP_Theme_JSON::compute_preset_classes() WP 6.2

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;
}