WP_Theme_JSON::get_svg_filters()publicWP 5.9.1

Converts all filter (duotone) presets into SVGs.

Method of the class: WP_Theme_JSON{}

No Hooks.

Return

String. SVG filters.

Usage

$WP_Theme_JSON = new WP_Theme_JSON();
$WP_Theme_JSON->get_svg_filters( $origins );
$origins(array) (required)
List of origins to process.

Changelog

Since 5.9.1 Introduced.

WP_Theme_JSON::get_svg_filters() code WP 6.6.2

public function get_svg_filters( $origins ) {
	$blocks_metadata = static::get_blocks_metadata();
	$setting_nodes   = static::get_setting_nodes( $this->theme_json, $blocks_metadata );

	$filters = '';
	foreach ( $setting_nodes as $metadata ) {
		$node = _wp_array_get( $this->theme_json, $metadata['path'], array() );
		if ( empty( $node['color']['duotone'] ) ) {
			continue;
		}

		$duotone_presets = $node['color']['duotone'];

		foreach ( $origins as $origin ) {
			if ( ! isset( $duotone_presets[ $origin ] ) ) {
				continue;
			}
			foreach ( $duotone_presets[ $origin ] as $duotone_preset ) {
				$filters .= wp_get_duotone_filter_svg( $duotone_preset );
			}
		}
	}

	return $filters;
}