wp_style_engine_get_styles()
Global public interface method to generate styles from a single style object, e.g. the value of a block's attributes.style object or the top level styles in theme.json.
Example usage:
$styles = wp_style_engine_get_styles( array( 'color' => array( 'text' => '#cccccc' ), ) );
Returns:
array( 'css' => 'color: #cccccc', 'declarations' => array( 'color' => '#cccccc' ), 'classnames' => 'has-color', )
Хуков нет.
Возвращает
Массив.
Использование
wp_style_engine_get_styles( $block_styles, $options );
- $block_styles(массив) (обязательный)
- The style object.
- $options(массив)
An array of options.
По умолчанию: empty array
-
context(строка|null)
An identifier describing the origin of the style object, e.g. 'block-supports' or 'global-styles'. When set, the style engine will attempt to store the CSS rules, where a selector is also passed.
По умолчанию: null -
convert_vars_to_classnames(true|false)
Whether to skip converting incoming CSS var patterns, e.g. var:preset|<PRESET_TYPE>|<PRESET_SLUG>, to var( --wp--preset--* ) values.
По умолчанию: false - selector(строка)
Optional. When a selector is passed, the value of $css in the return value will comprise a full CSS rule $selector { ...$css_declarations }, otherwise, the value will be a concatenated string of CSS declarations.
-
Заметки
- Смотрите: 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/
Список изменений
| С версии 6.1.0 | Введена. |
Код wp_style_engine_get_styles() wp style engine get styles WP 6.9
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 );
}