web-dev-qa-db-ja.com

wp_enqueue_script:スクリプトの読み込み順序を変更する方法

ページにロードされているすべてのスクリプトを順番に並べてリストし、この順番を変更する方法を知りたいです。

6
Matoeil

wp_enqueue_scripts() (またはregister-sister)のソースを見てみると、すべての重いものを処理するglobal $wp_scriptsがあることがわかります。

基本的に、グローバルはWP_Scriptsの単なるインスタンスです。これはWP_Dependencyの子であり、利用可能な上位レベルのAPIがない場合はそこからすべての魔法を使用できます。

登録済み、エンキュー済みなどのスクリプトをすべて表示するには、

var_dump( $GLOBALS['wp_scripts']->registered );

あるいはenqueueでも同じことができます。幸いなことに、実際に自分のものをソートするための引数が1つあります:dependencies。そのため、1つのスクリプトをロードしたい場合は、{after jQueryをロードした後で、スクリプトを登録またはエンキューするときに単にarray( 'jquery' )の依存関係を追加してください。それがWordPressでそれらを並べる方法です:それらを互いに依存するようにしてください。ところで、依存関係名alwaysは単にそれが登録された名前で、 "ハンドル"と呼ばれます。

7
kaiser