WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The WordPress codex says:


(boolean) (optional) Normally scripts are placed in the section. If this parameter is true the script is placed at the bottom of the . This requires the theme to have the wp_footer() hook in the appropriate place. Note that you have to enqueue your script before wp_head is run, even if it will be placed in the footer. (New in WordPress 2.8) Default: false

So I added true after each script's src path:

     * JavaScript

    function my_scripts_method() {
        wp_deregister_script( 'jquery' );
        wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js', true );
        wp_enqueue_script( 'jquery' );

    add_action('wp_enqueue_scripts', 'my_scripts_method');

    function media_queries_script() {
        wp_register_script( 'mediaqueries', get_template_directory_uri() . '/js/css3-mediaqueries.js', true );
        wp_enqueue_script( 'mediaqueries' );

    add_action('wp_enqueue_scripts', 'media_queries_script');

    function custom_script() {
        wp_register_script( 'custom', get_template_directory_uri() . '/js/custom.js', true );
        wp_enqueue_script( 'custom' );

    add_action('wp_enqueue_scripts', 'custom_script');

    function replace_script() {
        wp_register_script( 'replace', get_template_directory_uri() . '/js/jquery.ba-replacetext.min.js', true );
        wp_enqueue_script( 'replace' );

    add_action('wp_enqueue_scripts', 'replace_script');

But the scripts are still being included in the header.

Any suggestions to fix that?

share|improve this question
up vote 5 down vote accepted

Where did you put your code ?

  1. the "true" arguments goes in the

wp_enqueue_script( '' );

, not the wp_register_script() ;

the functions is :

<?php wp_enqueue_script('handle', 'src', 'deps', 'ver', 'in_footer'); ?>


    <?php wp_enqueue_script('NameMySccript', 'path/to/MyScript', 
'dependencies_MyScript', 'VersionMyScript', 'InfooterTrueorFalse'); ?>


<?php wp_enqueue_script('my_script', WP_CONTENT_URL . 'plugins/my_plugin/my_script.js', array('jquery', 'another_script'), '1.0.0', true); ?>

  1. does your theme have <?php wp_footer(); ?> at the end of the page ?

3.add the action with add_action('wp_print_scripts', 'your function');

That being said , your best practice would be :

if (function_exists('load_my_scripts')) {  
    function load_my_scripts() {  
        if (!is_admin()) {  
        wp_deregister_script( 'jquery' );  
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js');  
        wp_register_script('myscript', bloginfo('template_url').'/js/myScript.js'__FILE__), array('jquery'), '1.0', true );  
add_action('init', 'load_my_scripts');  

or add_action('wp_print_scripts', 'dl_register_js');

share|improve this answer
Thanks it is working now but I realized that placing the true in either wp_enqueue or wp-register_script work just fine. – janoChen Jan 5 '12 at 15:43
@krembo99 The wp_register_script() takes the same amount of arguments and both add to the $wp_scripts global array and the data subarray. Combined the wrong information with the awfull readability of your answer, I've to give you a -1 (will be removed on rework). – kaiser Jan 5 '13 at 17:07

I'd like to simplify the answer here.. When using wp_enqueue_script or wp_register_script to load a script in the footer, you need to make sure you include the other params too, even if they are blank.

I was trying..

wp_register_script( 'rrssb', get_stylesheet_directory_uri() . '/includes/rrssb.min.js',  true);

Which didn't work as @janoChen has noticed. Wordpress calls for

wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );

So you need to include '', for the parameters you are not using if you want to declare the function inline. Therefore the code below works as planned.

wp_register_script( 'rrssb', get_stylesheet_directory_uri() . '/includes/rrssb.min.js', '', '', true);

Subsequently you can declare the function in an array like format like @Brian Fegter shows.

share|improve this answer
You need to provide the empty strings only where placeholders are needed. – s_ha_dum Sep 30 '15 at 14:59
Ah yes! Of Course, only '', where parameters are required, not optional. – Andrew-ThinkUp Oct 1 '15 at 18:45

You are passing a bool value to the dependency param. Try this:

share|improve this answer

If you enqueue a script to the header but declare a dependency to a script enqueued to the footer, WordPress will move the footer script to the header to make it available to the dependent script/s.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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