# wp_style_engine_get_styles()

URL: https://chugunov.pro/api-wordpress/functions/wp_style_engine_get_styles/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 6.1.0.

## Сигнатура

```php
wp_style_engine_get_styles( array $block_styles, array $options = array() ): array
```

## Описание

Пример использования:

$styles = wp_style_engine_get_styles(
array(
'color' => array( 'text' => '#cccccc' ),
)
);Возвращает:

array(
'css' => 'color: #cccccc',
'declarations' => array( 'color' => '#cccccc' ),
'classnames' => 'has-color',
)См. также https://developer.wordpress.org/block-editor/reference-guides/theme-json-reference/theme-json-living/#styles

https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/

## Параметры

- `$block_styles` `array` — обязательный. Объект стилей.
- `$options` `array` — необязательный, по умолчанию `array()`. Массив опций.
  
  context string|null Идентификатор, описывающий происхождение объекта стилей, например 'block-supports' или 'global-styles'. Значение по умолчанию null.
  
  Если задано, движок стилей попытается сохранить CSS-правила при условии, что также передан селектор.
  
  convert_vars_to_classnames bool Пропускать ли преобразование входящих шаблонов CSS-переменных, например var:preset||, в значения var( --wp--preset--* ). Значение по умолчанию false.
  
  selector string Необязательно. Если передан селектор, значение $css в возвращаемом результате будет представлять собой полное CSS-правило $selector { ...$css_declarations }, иначе значение будет представлять собой объединённую строку CSS-объявлений.

## Возвращаемое значение

`array` — css string Набор CSS-правил или блок объявлений, отформатированный для размещения в HTML-атрибуте или теге style. declarations string[] Ассоциативный массив CSS-определений, например array( "$property" => "$value", "$property" => "$value" ). classnames string Имена классов, разделённые пробелом.

## Исходный код

Файл: `wp-includes/style-engine.php:63`

```php
function wp_style_engine_get_styles( $block_styles, $options = array() ) {
	$options = wp_parse_args(
		$options,
		array(
			'selector'                   => null,
			'context'                    => null,
			'convert_vars_to_classnames' => false,
		)
	);

	$parsed_styles = WP_Style_Engine::parse_block_styles( $block_styles, $options );

	// Output.
	$styles_output = array();

	if ( ! empty( $parsed_styles['declarations'] ) ) {
		$styles_output['css']          = WP_Style_Engine::compile_css( $parsed_styles['declarations'], $options['selector'] );
		$styles_output['declarations'] = $parsed_styles['declarations'];
		if ( ! empty( $options['context'] ) ) {
			WP_Style_Engine::store_css_rule( $options['context'], $options['selector'], $parsed_styles['declarations'] );
		}
	}

	if ( ! empty( $parsed_styles['classnames'] ) ) {
		$styles_output['classnames'] = implode( ' ', array_unique( $parsed_styles['classnames'] ) );
	}

	return array_filter( $styles_output );
}
```

## История изменений

- 6.1.0 — Introduced.

## Связанные

Использует: `WP_Style_Engine::parse_block_styles`, `WP_Style_Engine::compile_css`, `WP_Style_Engine::store_css_rule`, [`wp_parse_args`](https://chugunov.pro/api-wordpress/functions/wp_parse_args/).
Используется в: `WP_Theme_JSON::compute_style_properties`.

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/wp_style_engine_get_styles/
