Protocol neutral URLS with wp_enqueue_script (SSL issues)?

How do I use wp_enqueue_script so that I get protocol neutral URLs? Here is how I’m currently using it:

<?php wp_enqueue_script('name', get_bloginfo('template_directory'). '/js/name.pack.js'); ?>

Read More

I saw that home_url() is protocol aware so I figured theme_url() would be also but I’m getting the error below when I use it.

Call to undefined function theme_url()

Related posts

Leave a Reply

2 comments

  1. You can’t — URLs must have a protocol for WordPress to enqueue them. What you can do, though, is detect which protocol to use and then use that.

    $protocol = is_ssl() ? 'https' : 'http';
    $url = "$protocol://example.com/resource";
    

    But for enqueuing scripts from your theme, you should use get_template_directory_uri() or get_stylesheet_directory_uri() which already handle SSL:

    wp_enqueue_script('name', get_stylesheet_directory_uri() . '/js/name.pack.js');