I've enqueued all my scripts on function.php to load before the tag by passing 'true' to the fifth argument. It does works for all of them BUT jquery, any idea what I'm doing wrong?

wp_enqueue_script('modernizr', 'http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.2/modernizr.js', array('jquery'), false, true);
wp_enqueue_script('my-javascript', get_template_directory_uri() . '/js/my-javascript.js', array('jquery', 'modernizr'), false, true);
wp_enqueue_script('jquery-ui', get_template_directory_uri() . '/js/jquery-ui.min.js', array('jquery'), false, true);
  • Would also like an answer to that. Have the same code for jQuery but it still loads after the head. – lowtechsun Jan 11 '17 at 0:13

Try adding this to functions.php


// Custom scripting to move JavaScript from the head to the footer
function remove_head_scripts()
    remove_action('wp_head', 'wp_print_scripts');
    remove_action('wp_head', 'wp_print_head_scripts', 9);
    remove_action('wp_head', 'wp_enqueue_scripts', 1);

    add_action('wp_footer', 'wp_print_scripts', 5);
    add_action('wp_footer', 'wp_enqueue_scripts', 5);
    add_action('wp_footer', 'wp_print_head_scripts', 5);
add_action('wp_enqueue_scripts', 'remove_head_scripts');

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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