Google字体入队仅导入最后一个字体系列

时间:2020-08-16 作者:AndrewL64

我正在尝试通过将以下内容添加到我的functions.php 文件:

function get_google_fonts() {
    wp_enqueue_style( \'get-google-fonts\', \'https://fonts.googleapis.com/css2?family=Alata&family=Baloo+Tamma+2&family=Roboto:wght@100&display=swap\', false ); 
}

add_action( \'wp_enqueue_scripts\', \'get_google_fonts\' );
然而,WordPress似乎只将最后一种字体(此处,Roboto) 当我查看我的网站时。

<link rel="stylesheet" id="get-google-fonts-css" href="https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap&amp;ver=5.5" type="text/css" media="all">
该网站是新的,WordPress刚刚安装。尚未安装插件。这是什么原因?

编辑:

我尝试按如下方式将字体分成单独的队列,现在所有字体都正常工作了:

function get_google_fonts() {
    wp_enqueue_style( \'get-font-1\', \'https://fonts.googleapis.com/css2?family=Alata&display=swap\', false );
    wp_enqueue_style( \'get-font-2\', \'https://fonts.googleapis.com/css2?family=Baloo+Tamma+2&display=swap\', false );
    wp_enqueue_style( \'get-font-3\', \'https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\', false );
}

add_action( \'wp_enqueue_scripts\', \'get_google_fonts\' );
但我不明白为什么单请求方法不起作用。

1 个回复
SO网友:Sally CJ

wp_enqueue_style() documentation:

$ver
(string | bool | null)(可选)指定样式表版本号(如果有)的字符串,该样式表版本号作为查询字符串添加到URL中,用于缓存破坏。如果version设置为false,则会自动添加与当前installedWordPress版本相同的版本号。如果设置为null,则不添加任何版本。

默认值:false

因此,当版本号不准确时null (即。$ver !== null), WordPress使用add_query_arg() 添加版本号,因为该函数只支持同一查询字符串的一个实例(除了family[]foo_bar[]), 上一个family 样式表URL中的查询由删除add_query_arg().

因此,您可以将每个字体系列排队wp_enqueue_style() 打电话(就像您尝试过的那样),或设置$vernull (并手动添加版本号或缓存buster查询):

wp_enqueue_style( \'get-google-fonts\', \'https://fonts.googleapis.com/css2?family=Alata&family=Baloo+Tamma+2&family=Roboto:wght@100&display=swap\', array(), null );

相关推荐