Automattic\WooCommerce\Blocks\Templates

ComingSoonTemplate::get_font_familiespublic staticWC 1.0

Returns the font family for the body and heading.

When the current theme is not an FSE theme, we use the default fonts. When the current theme is an FSE theme, we use the fonts from the theme.json file if available except for the 'twentytwentyfour' theme.

Метод класса: ComingSoonTemplate{}

Хуков нет.

Возвращает

Массив.

Использование

$result = ComingSoonTemplate::get_font_families();

Код ComingSoonTemplate::get_font_families() WC 11.0.1

public static function get_font_families() {
	$default_fonts = array(
		'heading' => 'cardo',
		'body'    => 'inter',
	);

	if ( ! wp_is_block_theme() ) {
		return $default_fonts;
	}

	$current_theme = wp_get_theme()->get_stylesheet();

	if ( 'twentytwentyfour' === $current_theme ) {
		return array(
			'heading' => 'heading',
			'body'    => 'body',
		);
	}

	if ( ! function_exists( 'wp_get_global_settings' ) ) {
		return $default_fonts;
	}

	$settings = wp_get_global_settings();
	if (
		! isset( $settings['typography']['fontFamilies']['theme'] )
		|| ! is_array( $settings['typography']['fontFamilies']['theme'] )
	) {
		return $default_fonts;
	}

	$theme_fonts = $settings['typography']['fontFamilies']['theme'];

	// Override default fonts if available in theme.json.
	if ( isset( $theme_fonts[0]['slug'] ) && ! empty( $theme_fonts[0]['slug'] ) ) {
		// Convert the font family to lowercase and replace spaces with hyphens.
		$default_fonts['heading'] = strtolower( str_replace( ' ', '-', $theme_fonts[0]['slug'] ) );
	}
	if ( isset( $theme_fonts[1]['slug'] ) && ! empty( $theme_fonts[1]['slug'] ) ) {
		$default_fonts['body']      = strtolower( str_replace( ' ', '-', $theme_fonts[1]['slug'] ) );
		$default_fonts['paragraph'] = $default_fonts['body'];
	}

	return $default_fonts;
}