如何防止字体在我的wordpress网站加载两次?

时间:2017-09-14 18:12:59

标签: jquery html css wordpress fonts

使用排名冠军主题,并使用roboto作为我的字体。

还使用Visual Composer,它有一个字体子集,默认为'latin'

所以我猜主要的机器人字体和'vc'字体正在加载,因为我在页面源中看到两种字体为

<link rel='stylesheet' id='ranking-champtheme-custom-google-fonts-css'  href='//fonts.googleapis.com/css?family=Roboto%3A100%2C100i%2C200%2C200i%2C300%2C300i%2C400%2C400i%2C500%2C500i%2C600%2C600i%2C700%2C700i%2C900%2C900i%26subset%3Dlatin%2Clatin-ext&#038;ver=1.0.0' type='text/css' media='all' />

<link rel='stylesheet' id='vc_google_fonts_roboto100100italic300300italicregularitalic500500italic700700italic900900italic-css'  href='//fonts.googleapis.com/css?family=Roboto%3A100%2C100italic%2C300%2C300italic%2Cregular%2Citalic%2C500%2C500italic%2C700%2C700italic%2C900%2C900italic&#038;ver=4.8.1' type='text/css' media='all' />

我只是不希望第二个字体用id="vc_google_fonts_roboto100100italic300300italicregularitalic500500italic700700italic900900italic-css"

加盖

我尝试使用jQuery将其href设置为none,但是没有工作,有趣的是在检查时我看到根据jquery写的href被删除但是在页面源中搜索时它正在加载。

$(document).ready(function() {  
    jQuery("#vc_google_fonts_roboto100100italic300300italicregularitalic500500italic700700italic900900italic-css").removeAttr("href");
});

任何人都可以告诉我任何方法删除第二个加载的字体。

我不确定是因为Visual Composer,因为我认为idvc_google_fonts_..,假设VC再次加载字体。

1 个答案:

答案 0 :(得分:0)

我从未使用过Visual Composer,但我找到了this操作方法页面,其中包含以下内容:

  

Visual Composer使用特定的Google字体数组   用于标题样式的自定义标题元素和元素扩展   部分。可以通过申请更改Google字体列表   过滤vc_google_fonts_get_fonts_filter - 它将返回数组   谷歌字体列表,然后可以修改/重写。

因此解决方案可能是使用该过滤器删除有问题的字体。

function vc_remove_roboto_font( $fonts ) {
    ...CODE TO FIND AND REMOVE ROBOTO from $fonts list...
    return $fonts;
}
add_filters('vc_google_fonts_get_fonts_filter','vc_remove_roboto_font');

我不确定$fonts列表包含哪些元素,因此上面的代码不完整,但它可以帮助您更接近解决方案。

这里还有关于如何添加字体的GitHub example,您可能会发现它很有用。