删除(可能)由插件添加的Google字体

时间:2015-09-11 作者:tushonline

我有一个从谷歌字体加载“开放SAN”的主题。我们的站点正在使用SSL&;我们正在使用$protocol:// 呈现字体URL

然而,我注意到,一些插件可能会添加3种不同于Google字体的字体;正在使用http:// &;引发错误,例如:

Blocked loading mixed active content "http://fonts.googleapis.com/css?family=Lato:300,400,700"

Question: 我们如何在前端禁用从插件加载的字体,因为它们不用于网站的视觉效果

提前感谢:)

2 个回复
最合适的回答,由SO网友:totels 整理而成

如果字体是从插件加载的,则必须使用挂钩来插入字体,您可以禁用挂钩,但需要知道它来自何处。主要是因为您需要脚本的句柄。

有很多不同的方法可以做到这一点,所以我将尝试给出一个可能做到这一点的方法的例子,但有一个很好的机会,你需要自己做一些狩猎。

插件可以(理想情况下)直接加载wp_enqueue_style(), 幸运的是,有一个功能可以逆转这种行为wp_dequeue_style(), 你只需要确保你在正确的时间上钩,然后你就可以把它取下来。在大多数情况下,这是在wp_enqueue_scripts 钩他们可能设置了一个高优先级以使其延迟加载,但这通常不是必需的,您可能需要确切地了解他们是如何做到这一点的。

插件中可能有几行代码,如:

add_action( \'wp_enqueue_scripts\', \'plugin_setup_styles\' );

function plugin_setup_styles() {
  // it may not be quite this simple, depending on what the plugin is doing
  wp_register_style( \'plugin-google-font-lato\', \'http://fonts.googleapis.com/css?family=Lato:300,400,700\' );
  wp_enqueue_style( \'plugin-google-font-lato\' );
}
可能的解决方案,应该从功能上着手。php:

add_action( \'wp_enqueue_scripts\', function() {
  wp_dequeue_style( \'plugin-google-font-lato\' );
}, 99 );
基本上,您需要知道脚本注册时的句柄,grep 很适合这个$ grep -R wp_enqueue_style wp-content/plugins/ 作为开始。但搜索Lato可能会得到更好的结果$ grep -Rn Lato wp-content/plugins/

SO网友:phoenixlaef

我想发表评论提及这一点,但我还没有足够的代表这么做。我有一个类似的问题,我使用了一个简单的插件作为基础来解决这个问题。你也可以这样做。

结账disable-google-fonts 在GitHub上。它禁用Wordpress主题中的各种google字体。您可以对此进行修改或使用代码片段来执行所需操作。

相关推荐

Wp-login.php?reDirect_to=HTTPS问题

wp登录。php?redirect\\u to=https问题如果我在错误的地方发帖,请原谅我,但我在这里是想看看你是否能在你的时间里帮我几分钟。问题是,一个网站在wp登录时显示出持续的内部错误。php。我能够登录并访问前端,没有任何困难。我尝试过调试,但错误没有显示在任何页面上。我测试了主题、插件等,etcI检查了htaccess文件是否存在损坏(没有损坏),我将htaccess文件设置为调试和显示,但没有显示任何内容。我确实检查了服务器端的调试文件,它显示了一个插件的一些错误,当我停用该插件时,内部错