In my functions.php, I have set a register_scripts() and load_scripts(), and hooked them to the 'init' action.

I have registered all the scripts to be loaded in the footer, in order to optimize page load.

Some of the scripts I've registered in register_scripts() are not enqueued in load_scripts() because I only want to load them when / if they are needed.

So for example, if the page being rendered includes the template part 'gallery.php', which needs 'jquery-gallery', I would like to enqueue it from that file, but only after the rest of the footer scripts have been loaded. I also need to do this with inline scripts.

Hope I explained myself well... If not please ask.

1 Answer 1


If you enqueue the script to the footer while the page is being rendered (after the "wp_head" hook), you will have to manually add wp_print_scripts (or wp_print_footer_scripts) to the wp_footer action, like this:

wp_enqueue_script( 'jquery-gallery', null, array( 'jquery' ), null, true );
add_action( 'wp_footer', create_function( '', 'wp_print_scripts( "jquery-gallery" );' ) );
  • This no longer seems to be true. Apparently WordPress now handles scripts enqueued any time before the wp_footer() call properly on its own. Commented Feb 28 at 14:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.