Как поставить в очередь протокол относительных внешних (//ajax.googleapis.com/…) сценариев?

14

Согласно Кодексу , wp_enqueue_script поддерживает относительные протокол или внешние ссылки, не зависящие от протокола: «Удаленные ресурсы могут быть указаны с помощью независимого от протокола URL-адреса, то есть //otherdomain.com/js/theirscript.js».

Но я этого не вижу

wp_enqueue_script('google-maps', '//maps.googleapis.com/maps/api/js?&sensor=false', array(), '3', true);

Выход:

<script type='text/javascript' src='http://localhost:25898//maps.googleapis.com/maps/api/js?sensor=false&#038;ver=3'></script>

Обратите внимание, что относительный URL протокола добавляется к URL сайта.

Михель ван Остерхаут
источник

Ответы:

17

Размещенный вами код работает нормально и приводит к выводу в HTML:

<script type='text/javascript' src='//maps.googleapis.com/maps/api/js?sensor=false&#038;ver=3'></script>

Протестировано на WordPress 3.5 с этим фрагментом кода:

add_action('wp_enqueue_scripts', 'test');
function test() {
  wp_enqueue_script('google-maps', '//maps.googleapis.com/maps/api/js?&sensor=false', array(), '3', true);
}
эфирное масло
источник
Знаете ли вы, что это новое в WordPress 3.5?
Michiel van Oosterhout
URL-адреса, относящиеся к протоколу, были добавлены 7 месяцев назад: core.trac.wordpress.org/ticket/16560
Отто
Итак, я использую не версию WordPress. Так что может вызвать разницу в поведении?
Михель ван Оостерхаут
1
Ну, этот код был добавлен 7 месяцев назад, но если вы посмотрите на тикет, он имеет веху 3,5, так что да, это, вероятно, новое поведение для 3,5.
Отто
Ах да, я смотрел на поле «Версия», которое было установлено на 3.1, но это версия WordPress на момент создания заявки.
Михель ван Оостерхаут