web-dev-qa-db-ja.com

ヘッダーまたはフッター内のjQuery

私の読んだところでは、可能であればjqueryや依存関係のようなスクリプトを好みとしてフッターにロードするのが良い例です。しかし、2つのことでどちらが混乱します。最初にwp_enqueue_script()のデフォルトはスクリプトをフッターに置き、次に(そしておそらく関連している) codex からの行があることです。

フッターに配置される場合でも、wp_headが実行される前にスクリプトをエンキューする必要があることに注意してください。

これは、スクリプトがフッターにロードされるように設定されていても、まだ早い段階でロードされるため、フッター配置の利点のいくつかを失うということですか。

編集 - 念のために、上記の誤った記述が将来誰かを混乱させる場合があります。私は コーデックス を読んでいたことと、スクリプトをフッターに入れるためのwp_enqueue_script()のデフォルトはNOTであることに気づきました。

3
byronyasgur

Codexのスクリプト関連の記事には、完全には正しいとはいえないが(残念ながら)残された部分がたくさんあります。

エンキューはwp_head()の前に行われるべきではなく、wp_enqueue_scriptsの上で行われるべきです。これはwp_head()の中で技術的に早い段階です。

スクリプトの登録/キューへの登録はWordPressに実行方法を説明しているだけなので、パフォーマンスに悪影響はありません。実際のスクリプト出力は別の印刷アクションとして行われます。

仕組みの詳細については、 でスクリプトとスタイルを登録/エンキューする正しい場所 を参照してください。

5
Rarst

私の読みからは、可能であればjqueryや依存関係などのスクリプトを好みとしてフッターにロードするのが良いケースであるようです。

通常、ページの読み込みを速くするためにスクリプトを一番下に置く方が賢明です。しかし、これはスクリプトの使い方やコードの動作によっても異なります。ドキュメントのreadyイベントにフックせずに、ページの本文のインラインスクリプト(つまり<script></script>)タグで を使用して jQueryを使用しようとすると、問題が発生します。

覚えておいて、ライブラリは ロードする必要があります - あなたはそれを使用しようとします。

これは、スクリプトがフッターにロードされるように設定されていても、まだ早い段階でロードされるため、フッター配置の利点のいくつかを失うということですか。

いいえ。スクリプトをエンキューし、それをフッターにロードするように指定しました。 WordPressはそれを見て、後で覚えて、実際にスクリプトがwp_footer()タグに到達したときにそれを書くでしょう。スクリプトを実際にページのどこに印刷するかに関係なく、すべてのスクリプトをwp_enqueue_scriptsアクションでエンキューする必要があります。

2
EAMann