我正在使用带有Divi主题的Wordpress,
有这段代码:
function et_divi_fonts_url() {
$fonts_url = '';
/* Translators: If there are characters in your language that are not
* supported by Open Sans, translate this to 'off'. Do not translate
* into your own language.
*/
$open_sans = _x( 'on', 'Open Sans font: on or off', 'Divi' );
if ( 'off' !== $open_sans ) {
$font_families = array();
if ( 'off' !== $open_sans )
$font_families[] = 'Open+Sans:300italic,400italic,700italic,800italic,400,300,700,800';
$protocol = is_ssl() ? 'https' : 'http';
$query_args = array(
'family' => implode( '%7C', $font_families ),
'subset' => 'latin,latin-ext',
);
$fonts_url = add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" );
}
return $fonts_url;
}
生成此输出:
<link rel='stylesheet' id='tp-open-sans-css' href='http://fonts.googleapis.com/css?family=Open+Sans%3A300%2C400%2C600%2C700%2C800&ver=4.2.4' type='text/css' media='all' />
<link rel='stylesheet' id='tp-raleway-css' href='http://fonts.googleapis.com/css?family=Raleway%3A100%2C200%2C300%2C400%2C500%2C600%2C700%2C800%2C900&ver=4.2.4' type='text/css' media='all' />
<link rel='stylesheet' id='tp-droid-serif-css' href='http://fonts.googleapis.com/css?family=Droid+Serif%3A400%2C700&ver=4.2.4' type='text/css' media='all' />
<link rel='stylesheet' id='et_monarch-open-sans-css' href='http://fonts.googleapis.com/css?family=Open+Sans:400,700' type='text/css' media='all' />
<link rel='stylesheet' id='divi-fonts-css' href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,800italic,400,300,700,800&subset=latin,latin-ext' type='text/css' media='all' />
我想知道是否有一种简单的方法将所有这些资源合并到一个请求中?
答案 0 :(得分:1)
取自https://developers.google.com/fonts/docs/getting_started?hl=en:
要请求多个字体系列,请使用竖线字符(|)分隔名称。
例如,要求字体Tangerine,Inconsolata和Droid Sans:
https://fonts.googleapis.com/css?family=Tangerine|Inconsolata|Droid+Sans
答案 1 :(得分:0)
此Google Font Optimization工具是一种解决方案。
您可以在此工具中插入多个字体URL,并获得一个简单的URL作为回报。
另一种解决方案是Easy Fonts,但是它将所有字体组合在一个URL中,而不是允许您选择要组合的字体:
<link href="https://pagecdn.io/lib/easyfonts/fonts.css" rel="stylesheet" />
答案 2 :(得分:0)
我用过 https://developers.google.com/fonts/docs/css2
示例
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans+Condensed:wght@300;700&family=Open+Sans:wght@300;400;600;700;800&family=PT+Sans+Narrow:wght@400;700&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap">
display = swap
https://developers.google.com/web/updates/2016/02/font-display
swap给予字体正面零秒的块周期和无限的 掉期。这意味着浏览器立即使用 如果未加载字体,则回退,但以 加载后尽快。与块类似,仅应使用此值 当以特定字体呈现文本对于页面很重要时, 但是以任何字体进行渲染仍会得到正确的信息。 徽标文本是显示公司徽标的理想选择,因为它可以显示公司的 使用合理的后备名称可以传达信息,但您可以 最终使用官方字体。