WP_Theme_JSON::remove_insecure_styles()protected staticWP 5.9.0

Processes a style node and returns the same node without the insecure styles.

Method of the class: WP_Theme_JSON{}

No Hooks.

Return

Array.

Usage

$result = WP_Theme_JSON::remove_insecure_styles( $input );
$input(array) (required)
Node to process.

Changelog

Since 5.9.0 Introduced.

WP_Theme_JSON::remove_insecure_styles() code WP 6.5.2

protected static function remove_insecure_styles( $input ) {
	$output       = array();
	$declarations = static::compute_style_properties( $input );

	foreach ( $declarations as $declaration ) {
		if ( static::is_safe_css_declaration( $declaration['name'], $declaration['value'] ) ) {
			$path = static::PROPERTIES_METADATA[ $declaration['name'] ];

			/*
			 * Check the value isn't an array before adding so as to not
			 * double up shorthand and longhand styles.
			 */
			$value = _wp_array_get( $input, $path, array() );
			if ( ! is_array( $value ) ) {
				_wp_array_set( $output, $path, $value );
			}
		}
	}

	// Ensure indirect properties not handled by `compute_style_properties` are allowed.
	static::remove_indirect_properties( $input, $output );

	return $output;
}