Fonts: Removes static instance in wp_print_font_faces().

The static instance of `WP_Font_Face` is not needed. It was an unnecessary carryover from the experimental Fonts API (which was not introduced into Core).

Whereas the Fonts API needed to persist its data (i.e. to maintain the registered and enqueued fonts throughout the web request), Font Face does not have data to persist.

Font Face processes the fonts it receives when `WP_Font_Face::generate_and_print( $fonts )` is invoked. Thus, a singleton is not needed.

Removing the static reduces the amount of the code in the function and eliminates running its tests in separate processes to ensure a different instance is always used.

References:
* [https://github.com/WordPress/gutenberg/pull/54228 Gutenberg PR 54228].

Follow-up to [56500].

Props hellofromTonya, costdev.
Fixes #59165.

git-svn-id: https://develop.svn.wordpress.org/trunk@56540 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Tonya Mork
2023-09-07 17:28:59 +00:00
parent 1cfefb918a
commit 9b6d04adaa
2 changed files with 2 additions and 12 deletions

View File

@@ -39,7 +39,6 @@
* }
*/
function wp_print_font_faces( $fonts = array() ) {
static $wp_font_face = null;
if ( empty( $fonts ) ) {
$fonts = WP_Font_Face_Resolver::get_fonts_from_theme_json();
@@ -49,9 +48,6 @@ function wp_print_font_faces( $fonts = array() ) {
return;
}
if ( null === $wp_font_face ) {
$wp_font_face = new WP_Font_Face();
}
$wp_font_face = new WP_Font_Face();
$wp_font_face->generate_and_print( $fonts );
}

View File

@@ -6,17 +6,11 @@
* @subpackage Fonts
*
* @since 6.4.0
*/
require_once __DIR__ . '/base.php';
/**
*
* @group fonts
* @group fontface
*
* @covers wp_print_font_faces
*
* @runTestsInSeparateProcesses
* @preserveGlobalState disabled
*/
class Tests_Fonts_WpPrintFontFaces extends WP_Font_Face_UnitTestCase {
const FONTS_THEME = 'fonts-block-theme';