このエンキュースタイルのwp_footer()フックの登録を解除し、フックwp_head()でサイトのトップに追加する必要があります。これは可能ですか?
テーマを最適化してW3Cで検証します。W3Cの要件の1つは、すべてのスタイルが<head></head>
というタグ内にあることです... Crayon Syntax Highlighter
という特定のプラグインと、このプラグインを使用していますページの下部にスタイルを挿入しています(おそらくwp_footer()
フックを使用)。
私はこのすべての機能を試しましたが、成功しませんでした:
wp_deregister_style( 'crayon' );
wp_dequeue_style( 'crayon' );
remove_action( 'wp_enqueue_style' , 'crayon' , 10 );
wp_deregister_style( 'crayon-css' );
wp_dequeue_style( 'crayon-css' );
remove_action( 'wp_enqueue_style' , 'crayon-css' , 10 );
ソースコード を見ると、wp_enqueue_style( 'crayon' )
がCrayon::enqueue_resources()
の中で呼び出されていることがわかります。 Crayon::the_content()
またはCrayon::wp_head()
。 Crayon::wp_head
のコードは次のとおりです。
if (!CrayonGlobalSettings::val(CrayonSettings::EFFICIENT_ENQUEUE) || CrayonGlobalSettings::val(CrayonSettings::TAG_EDITOR_FRONT)) {
CrayonLog::debug('head: force enqueue');
// Efficient enqueuing disabled, always load despite enqueuing or not in the_post
self::enqueue_resources();
}
これは、特定の設定が有効になっている場合にのみスタイルをエンキューします。そうでなければ、スタイルはthe_content
が既に出力された後に起動するwp_head
フィルタからのみキューに入れられます。
2つの選択肢があります。
うーん..あなたの問題についてもう少し詳しい情報(あなたが修正する必要がある特定のファイルやスクリプトのような)を提供できれば、質問は私にはあまり明確ではありません。私が理解したことから、私はあなたを助けようとします。まず、本当に必要でない限り、プラグインは避けましょう。ブラウザからページの読み込みを開始したときに、最初にダウンロードしたスクリプトがタグの間にあるため、それらのスクリプトをフッターに移動します。 footer.phpまたは/public_html/wp-content/themes/yourtheme/footer.php)Webページは、最初に視覚化する必要があるすべてのデータのレンダリングを開始します。最初はページの先頭から、最後にフッターのスクリプトです。 .phpファイルCrayon Syntax Highlighter
が問題を引き起こしているのではないでしょうか。この<!-- W3TC-include-js-head -->
を閉じる</body>
タグの前に置くようにしてください。
wp_enqueue_scripts
を使いたい場合は、この例を見てください。
function themeslug_enqueue_style() {
wp_enqueue_style( 'core', 'style.css', false );
}
function themeslug_enqueue_script() {
wp_enqueue_script( 'my-js', 'filename.js', false );
}
add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style' );
add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_script' );
これが助けになれば幸いです。 :)