wp_add_block_state_style_rule()
Adds a compiled state style rule to a rule list.
No Hooks.
Returns
null. Nothing (null).
Usage
wp_add_block_state_style_rule( $css_rules, $state, $selector, $style, $rules_group );
- $css_rules(array) (required) (passed by reference — &)
- Style rules.
- $state(string) (required)
- Pseudo-state selector.
- $selector(string|null) (required)
- Block, feature, or element selector.
- $style(array) (required)
- Style object.
- $rules_group(string|null)
- Optional CSS grouping rule, e.g. a media query.
Default:null
Changelog
| Since 7.1.0 | Introduced. |
wp_add_block_state_style_rule() wp add block state style rule code WP 7.1
function wp_add_block_state_style_rule( &$css_rules, $state, $selector, $style, $rules_group = null ) {
if ( empty( $style ) || ! is_array( $style ) ) {
return;
}
$compiled = wp_style_engine_get_styles(
wp_normalize_state_style_for_css_output( $style )
);
$declarations = $compiled['declarations'] ?? array();
$text_align = $style['typography']['textAlign'] ?? null;
// Base text alignment is class-based, so state styles need a declaration.
if ( is_string( $text_align ) && '' !== trim( $text_align ) ) {
$declarations['text-align'] = $text_align;
}
if ( empty( $declarations ) ) {
return;
}
$css_rules[] = array(
'state' => $state,
'selector' => $selector,
'declarations' => $declarations,
);
if ( ! empty( $rules_group ) ) {
$css_rules[ count( $css_rules ) - 1 ]['rules_group'] = $rules_group;
}
}