wp-includes/style-engine/class-wp-style-engine-css-rule.php:17Core class used for style engine CSS rules.
$selectorstringprotected$declarationsWP_Style_Engine_CSS_Declarationsprotected$rules_groupstringprotected@media (min-width: 80rem) or @layer module.#[AllowDynamicProperties]class WP_Style_Engine_CSS_Rule { /** * The selector. * * @since 6.1.0 * @var string */ protected $selector; /** * The selector declarations. * * Contains a WP_Style_Engine_CSS_Declarations object. * * @since 6.1.0 * @var WP_Style_Engine_CSS_Declarations */ protected $declarations; /** * A parent CSS selector in the case of nested CSS, or a CSS nested @rule, * such as `@media (min-width: 80rem)` or `@layer module`. * * @since 6.6.0 * @var string */ protected $rules_group; /** * Constructor. * * @since 6.1.0 * @since 6.6.0 Added the `$rules_group` parameter. * * @param string $selector Optional. The CSS selector. Default empty string. * @param string[]|WP_Style_Engine_CSS_Declarations $declarations Optional. An associative array of CSS definitions, * e.g. `array( "$property" => "$value", "$property" => "$value" )`, * or a WP_Style_Engine_CSS_Declarations object. * Default empty array. * @param string $rules_group A parent CSS selector in the case of nested CSS, or a CSS nested @rule, * such as `@media (min-width: 80rem)` or `@layer module`. */ public function __construct( $selector = '', $declarations = array(), $rules_group = '' ) { $this->set_selector( $selector ); $this->add_declarations( $declarations ); $this->set_rules_group( $rules_group ); } /** * Sets the selector. * * @since 6.1.0 * * @param string $selector The CSS selector. * @return WP_Style_Engine_CSS_Rule Returns the object to allow chaining of methods. */ public function set_selector( $selector ) { $this->selector = $selector; return $this; } /** * Sets the declarations. * * @since 6.1.0 * @since 7.1.0 Preserves declaration options when declarations are provided as a `WP_Style_Engine_CSS_Declarations` object. * * @param string[]|WP_Style_Engine_CSS_Declarations $declarations An array of declarations (property => value pairs), * or a WP_Style_Engine_CSS_Declarations object. * @return WP_Style_Engine_CSS_Rule Returns the object to allow chaining of methods. */ public function add_declarations( $declarations ) { $is_declarations_object = ! is_array( $declarations ); $declarations_array = $is_declarations_object ? $declarations->get_declarations() : $declarations; $declaration_options = $is_declarations_object ? $declarations->get_declaration_options() : array(); if ( null === $this->declarations ) { if ( $is_declarations_object ) {Introduced in 6.1.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
src/wp-includes/style-engine/class-wp-style-engine-css-rule.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.