Automattic\WooCommerce\Blocks\Templates
ComingSoonTemplate::get_font_families
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() 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;
}