WP_Theme_JSON::remove_insecure_styles( array $input ): array

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


Parameters

$input array Required
Node to process.

Top ↑

Return

array


Top ↑

Source

File: wp-includes/class-wp-theme-json.php. View all references

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;
}


Top ↑

Changelog

Changelog
Version Description
5.9.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.