WP_Style_Engine_CSS_Rules_Store::add_rule
Gets a WP_Style_Engine_CSS_Rule object by its selector. If the rule does not exist, it will be created.
Method of the class: WP_Style_Engine_CSS_Rules_Store{}
No Hooks.
Returns
WP_Style_Engine_CSS_Rule|null. Returns a WP_Style_Engine_CSS_Rule object, or void if the selector is empty.
Usage
$WP_Style_Engine_CSS_Rules_Store = new WP_Style_Engine_CSS_Rules_Store(); $WP_Style_Engine_CSS_Rules_Store->add_rule( $selector, $rules_group );
- $selector(string) (required)
- The CSS selector.
- $rules_group(string)
- A parent CSS selector in the case of nested CSS, or a CSS nested @rule, such as
@media (min-width: 80rem)or@layer module.
Default:''
Changelog
| Since 6.1.0 | Introduced. |
| Since 6.6.0 | Added the $rules_group parameter. |
WP_Style_Engine_CSS_Rules_Store::add_rule() WP Style Engine CSS Rules Store::add rule code WP 7.0
public function add_rule( $selector, $rules_group = '' ) {
$selector = $selector ? trim( $selector ) : '';
$rules_group = $rules_group ? trim( $rules_group ) : '';
// Bail early if there is no selector.
if ( empty( $selector ) ) {
return;
}
if ( ! empty( $rules_group ) ) {
if ( empty( $this->rules[ "$rules_group $selector" ] ) ) {
$this->rules[ "$rules_group $selector" ] = new WP_Style_Engine_CSS_Rule( $selector, array(), $rules_group );
}
return $this->rules[ "$rules_group $selector" ];
}
// Create the rule if it doesn't exist.
if ( empty( $this->rules[ $selector ] ) ) {
$this->rules[ $selector ] = new WP_Style_Engine_CSS_Rule( $selector );
}
return $this->rules[ $selector ];
}