• Resolved Lyden

    (@lyden)


    First post to WordPress forums…

    Any ideas on why this would work:

    function add_header_scripts() {
    	echo '<script src="https://localhost:8888/wp-content/themes/myTheme/myScript.js" type="text/javascript"></script>';
    }
    
    add_action('wp_head', 'add_header_scripts');

    But this does not:

    function add_header_scripts() {
    	wp_enqueue_script('my_script', 'https://localhost:8888/wp-content/themes/myTheme/myScript.js');
    }
    
    add_action('wp_head', 'add_header_scripts');

    Code is in functions.php.

    I have also tried supplying values for all possible parameters of wp_enqueue_scripts including using null for $ver to avoid problems with appending version numbers to the script url.

    Also, I know not to hardcode the url. I will use bloginfo once this problem is solved.

    Thanks in advance!

Viewing 2 replies - 1 through 2 (of 2 total)
  • Thread Starter Lyden

    (@lyden)

    Solved it. For some reason, you can’t use the wp_head action. This is very unintuitive. You would think that since you include external scripts via <script> tags in the head, you would use the wp_head action.

    I changed:
    add_action('wp_head', 'add_header_scripts');

    To:
    add_action('init', 'add_header_scripts');

    Use wp_enqueue_scripts or wp_print_scripts(not wp_head) and the enqueue should work just fine.

    If you’re finding that’s still too late(you shouldn’t do), then you can always use wp or template_redirect..

    init fires on every page, and you have no access to conditional tags at that point, so it’s considered too early for enqueues(though the codex currently suggests otherwise, it is in fact wrongly documented).

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘wp_enqueue_script problem’ is closed to new replies.