WP_Theme_JSON::remove_insecure_element_styles
Remove insecure element styles within a variation or block.
- When responsive media queries are provided, nested responsive state styles matching those viewport state keys are re-added after the base sanitization pass.
Method of the class: WP_Theme_JSON{}
No Hooks.
Returns
Array. The sanitized elements styles.
Usage
$result = WP_Theme_JSON::remove_insecure_element_styles( $elements, $responsive_media_queries );
- $elements(array) (required)
- The elements to process.
- $responsive_media_queries(array|null)
- Media queries whose keys define allowed viewport states.
Default:null
Changelog
| Since 6.8.0 | Introduced. |
| Since 7.1.0 | Added the $responsive_media_queries parameter. |
WP_Theme_JSON::remove_insecure_element_styles() WP Theme JSON::remove insecure element styles code WP 7.1
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;
}