wp-includes/style-engine/class-wp-style-engine-processor.php:15Core class used to compile styles from stores or collection of CSS rules.
$storesWP_Style_Engine_CSS_Rules_Store[]protected$css_rulesWP_Style_Engine_CSS_Rule[]protected#[AllowDynamicProperties]class WP_Style_Engine_Processor { /** * A collection of Style Engine Store objects. * * @since 6.1.0 * @var WP_Style_Engine_CSS_Rules_Store[] */ protected $stores = array(); /** * The set of CSS rules that this processor will work on. * * @since 6.1.0 * @var WP_Style_Engine_CSS_Rule[] */ protected $css_rules = array(); /** * Adds a store to the processor. * * @since 6.1.0 * * @param WP_Style_Engine_CSS_Rules_Store $store The store to add. * @return WP_Style_Engine_Processor Returns the object to allow chaining methods. */ public function add_store( $store ) { if ( ! $store instanceof WP_Style_Engine_CSS_Rules_Store ) { _doing_it_wrong( __METHOD__, __( '$store must be an instance of WP_Style_Engine_CSS_Rules_Store' ), '6.1.0' ); return $this; } $this->stores[ $store->get_name() ] = $store; return $this; } /** * Adds rules to be processed. * * @since 6.1.0 * @since 6.6.0 Added support for rules_group. * * @param WP_Style_Engine_CSS_Rule|WP_Style_Engine_CSS_Rule[] $css_rules A single, or an array of, * WP_Style_Engine_CSS_Rule objects * from a store or otherwise. * @return WP_Style_Engine_Processor Returns the object to allow chaining methods. */ public function add_rules( $css_rules ) { if ( ! is_array( $css_rules ) ) { $css_rules = array( $css_rules ); } foreach ( $css_rules as $rule ) { $selector = $rule->get_selector(); $rules_group = $rule->get_rules_group(); /** * If there is a rules_group and it already exists in the css_rules array, * add the rule to it. * Otherwise, create a new entry for the rules_group. */ if ( ! empty( $rules_group ) ) { if ( isset( $this->css_rules[ "$rules_group $selector" ] ) ) { $this->css_rules[ "$rules_group $selector" ]->add_declarations( $rule->get_declarations() ); continue; } $this->css_rules[ "$rules_group $selector" ] = $rule; continue; } // If the selector already exists, add the declarations to it. if ( isset( $this->css_rules[ $selector ] ) ) { $this->css_rules[ $selector ]->add_declarations( $rule->get_declarations() ); continue;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-processor.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.