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'); ?>
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()
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');