web-dev-qa-db-ja.com

プラグインによって(おそらく)追加されたGoogleフォントを削除する

Google Fontsから「Open Sans」をロードするテーマがあります。私たちのサイトはSSLを使用しています。フォントURLのレンダリングに$protocol://を使用しています。

しかし、私は、いくつかのプラグインがおそらくGoogle Fontsから3つの異なるフォントを追加していることに気付きました、そしてそれらはhttp://&を使用してロードされています、

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

質問: フロントエンドで、プラグインから読み込まれたフォントを無効にするにはどうすればいいですか。それらはウェブサイトの視覚的意味では使用されていないからです。

前もって感謝します :)

4
tushonline

フォントがプラグインから読み込まれる場合は、それらを挿入するためにフックを使用する必要があります。フックを無効にすることはできますが、どこから来たのかを知る必要があります。主にスクリプトのハンドルが必要だからです。

やり方はたくさんありますので、やり方の一例を挙げてみましょうが、自分で狩りをする必要がある可能性は十分にあります。

プラグインは(理想的には) 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' );
}

可能な解決策は、functions.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/を検索するとより良い結果が得られるかもしれません。

2
totels

これに言及するためにコメントをしたかったのですが、まだ十分な担当者がいません。私はこれと同じような問題を抱えていました、そして私は問題を解決するための基礎として簡単なプラグインを使いました。あなたは同じことができるかもしれません。

GitHubでチェックアウト disable-google-fonts WordpressのテーマにあるさまざまなGoogleフォントを無効にします。あなたはこれを修正するか、あなたが必要とすることをするためにコードの断片を使うことができます。

1
phoenixlaef