wp/wp-includes/fonts/class-wp-font-face-resolver.php
changeset 22 8c2e4d02f4ef
parent 21 48c4eec2b7e6
--- a/wp/wp-includes/fonts/class-wp-font-face-resolver.php	Fri Sep 05 18:40:08 2025 +0200
+++ b/wp/wp-includes/fonts/class-wp-font-face-resolver.php	Fri Sep 05 18:52:52 2025 +0200
@@ -37,6 +37,38 @@
 	}
 
 	/**
+	 * Gets fonts defined in style variations.
+	 *
+	 * @since 6.7.0
+	 *
+	 * @return array Returns an array of font-families.
+	 */
+	public static function get_fonts_from_style_variations() {
+		$variations = WP_Theme_JSON_Resolver::get_style_variations();
+		$fonts      = array();
+
+		if ( empty( $variations ) ) {
+			return $fonts;
+		}
+
+		foreach ( $variations as $variation ) {
+			if ( ! empty( $variation['settings']['typography']['fontFamilies']['theme'] ) ) {
+				$fonts = array_merge( $fonts, $variation['settings']['typography']['fontFamilies']['theme'] );
+			}
+		}
+
+		$settings = array(
+			'typography' => array(
+				'fontFamilies' => array(
+					'theme' => $fonts,
+				),
+			),
+		);
+
+		return static::parse_settings( $settings );
+	}
+
+	/**
 	 * Parse theme.json settings to extract font definitions with variations grouped by font-family.
 	 *
 	 * @since 6.4.0