webdevqa.jp.net

wp_dequeue_styleが機能しない

それで私はすでに自分自身でそれをロードしていて、それが私が必要としないフォントのあらゆるスタイルをロードしているので、私はフロントエンドでプラグインがロードしているフォントを取り除こうとしています。

これが私のコードです:

//Remove open sans  
    function custom_dequeue() {
        wp_dequeue_style('et-gf-open-sans');
    }

    add_action( 'wp_enqueue_scripts', 'custom_dequeue' );

//I've also tried
    add_action( 'wp_print_styles', 'custom_dequeue', 9999 );

//Also hooking into: wp_footer, wp_head, wp_print_scripts, 
//all with high priority and default priority to no avail

これらは、コードを先頭から最後の</body>タグの直前に移動するだけです。

私はプラグインの作者に連絡しましたが、その答えは私がすでに試したコードです。別の応答を待っています。

また、私は正しいハンドル名を扱っていることに積極的です。私はそれがフォントをロードしているのが正確にどの行であるかを見つけることができるようにコードのURLを変更しました。 (著者はフォントをロードする複数の場所を持っています。)

何か案は?

--------------------------------------------- /

編集

それはこのアクションでロードされます:

add_action( 'wp_enqueue_scripts', array( $this, 'load_scripts_styles' ) );

そしてそれは関数load_scripts_stylesにエンキューされています

私はすべてを最優先しました。

私はまた query monitor と呼ばれるプラグインを使用しています。これは、すべてのフックの順序と、どのプラグインがフックしている機能と共に何にプラグインしているかを出力します。私のコードはプラグインコードの後に​​表示されていますが、発生するのはヘッダーからフッターに移動することだけです。私を運転します。

6
John_911

さて、私はこれを考え出しました。

function custom_dequeue() {
    wp_dequeue_style('et-gf-open-sans');
    wp_deregister_style('et-gf-open-sans');

}

add_action( 'wp_enqueue_scripts', 'custom_dequeue', 9999 );
add_action( 'wp_head', 'custom_dequeue', 9999 );

@ミロは正しかった。プラグインはそれを再エンキューしていたので、登録を解除するとそのファイルはロードを停止しました。

それからプラグインはまたそれが同じハンドルを持つ別のフォントを登録して待ち行列に入れるであろう別のチェックもしました。アクションがwp_headにフックされたので、私は別のアクションをwp_headに追加して、ついにロードを完全に停止するようになりました!

みんなの助けてくれてありがとう!

12
John_911