私はこのコードを持っています:
wp_register_script('parent','parent.js', array('child'), '1', true);
wp_register_script('child', 'child.js', array('grandchild'), '1', true);
wp_register_script('grandchild', 'grandchild.js', array(), '1', true);
wp_enqueue_script('parent');
grandchild.js
、次にchild.js
、そしてparent.js
をフッターにレンダリングして、うまくいきます。
TRUEまたはFALSEの 'フッターでのレンダリング'にかかわらず、親と子だけのあらゆる組み合わせがうまく機能します。しかし、頭の中にレンダリングされるように 'child'を登録すると、次のようになります。
wp_register_script('parent','parent.js', array('child'), '1', true);
wp_register_script('child', 'child.js', array('grandchild'), '1', FALSE);
wp_register_script('grandchild', 'grandchild.js', array(), '1', true);
wp_enqueue_script('parent');
child.js
は頭に描画され、parent.js
はフッターに描画されます。 そしてgrandchild.js
はまったく描画されません。 明らかに依存関係がありますが。
私にとってはバグのように見えます。 なにか足りない?うまくいかないでしょうか。
ありがとうございます。
これはWordpressの バグ です。
https://core.trac.wordpress.org/ticket/35873
私が見ることができる限り、あなたが後でこれを読んでいるならば、それは現在 https://core.trac.wordpress.org/attachment/ticket/35873/35873.3.patch で修正することができます、それはおそらくあなたのWordpressバージョン用にすでに修正されています。
一時的な回避策として、親の依存関係を子と孫の両方に設定します。こうすればgrandchild.js
は迷子になりません:
wp_register_script('parent','parent.js', array('grandchild', 'child'), '1', true);
wp_register_script('child', 'child.js', array('grandchild'), '1', FALSE);
wp_register_script('grandchild', 'grandchild.js', array(), '1', true);