I'm having this code:
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');
and it works fine, rendering grandchild.js, then child.js, then parent.js in footer.
Every combination of just parent and child works fine, regardless of TRUE or FALSE 'render in footer'. But when I register 'child' to be rendered in head instead:
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');
Then child.js gets rendered in head, parent.js gets rendered in footer, and grandchild.js is not rendered at all ! Even though there is obviously a dependency for it.
Looks like a bug to me. Am I missing something? Shouldn't it work?
Thanks!