WP_Font_Face_Resolver::parse_settingsprivate staticWP 6.4.0

Parse theme.json settings to extract font definitions with variations grouped by font-family.

Method of the class: WP_Font_Face_Resolver{}

No Hooks.

Returns

Array. Returns an array of fonts, grouped by font-family.

Usage

$result = WP_Font_Face_Resolver::parse_settings( $settings );
$settings(array) (required)
Font settings to parse.

Changelog

Since 6.4.0 Introduced.

WP_Font_Face_Resolver::parse_settings() code WP 6.8.1

private static function parse_settings( array $settings ) {
	$fonts = array();

	foreach ( $settings['typography']['fontFamilies'] as $font_families ) {
		foreach ( $font_families as $definition ) {

			// Skip if "fontFace" is not defined, meaning there are no variations.
			if ( empty( $definition['fontFace'] ) ) {
				continue;
			}

			// Skip if "fontFamily" is not defined.
			if ( empty( $definition['fontFamily'] ) ) {
				continue;
			}

			$font_family_name = static::maybe_parse_name_from_comma_separated_list( $definition['fontFamily'] );

			// Skip if no font family is defined.
			if ( empty( $font_family_name ) ) {
				continue;
			}

			$fonts[] = static::convert_font_face_properties( $definition['fontFace'], $font_family_name );
		}
	}

	return $fonts;
}