wp-includes/class-wp-theme-json.php:4838Remove insecure element styles within a variation or block.
$elementsarray$responsive_media_queriesarray|nulloptionalnullarray protected static function remove_insecure_element_styles( $elements, $responsive_media_queries = null ) { $sanitized = array(); $valid_element_names = array_keys( static::ELEMENTS ); foreach ( $valid_element_names as $element_name ) { $element_input = $elements[ $element_name ] ?? null; if ( $element_input ) { $element_output = static::remove_insecure_styles( $element_input ); if ( isset( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $element_name ] ) ) { foreach ( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $element_name ] as $pseudo_selector ) { if ( isset( $element_input[ $pseudo_selector ] ) ) { $element_output[ $pseudo_selector ] = static::remove_insecure_styles( $element_input[ $pseudo_selector ] ); } } } if ( null !== $responsive_media_queries ) { // Re-add and process responsive breakpoint styles for elements. foreach ( array_keys( $responsive_media_queries ) as $breakpoint ) { if ( isset( $element_input[ $breakpoint ] ) ) { $element_output[ $breakpoint ] = static::remove_insecure_styles( $element_input[ $breakpoint ] ); if ( isset( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $element_name ] ) ) { foreach ( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $element_name ] as $pseudo_selector ) { if ( isset( $element_input[ $breakpoint ][ $pseudo_selector ] ) ) { $element_output[ $breakpoint ][ $pseudo_selector ] = static::remove_insecure_styles( $element_input[ $breakpoint ][ $pseudo_selector ] ); } } } } } } $sanitized[ $element_name ] = $element_output; } } return $sanitized; }Introduced in 6.8.0. One change between 6.8.8 and 7.1.0.
Signature, return type and hooks compared across 4 parsed releases.
$responsive_media_queries added.verified against sourcesrc/wp-includes/class-wp-theme-json.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.