WP_Theme_JSON::remove_insecure_styles( array $input ): array

In this article

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

Parameters

$inputarrayrequired
Node to process.

Return

array

Source

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

Changelog

VersionDescription
5.9.0Introduced.

User Contributed Notes

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