프로토콜 관련 외부 (//ajax.googleapis.com/…) 스크립트를 대기열에 넣는 방법은 무엇입니까?


14

Codex 에 따르면 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에 추가됩니다.

답변:


18

게시 한 코드는 정상적으로 작동하며 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
Otto

좋아, 그래서 그것은 내가 사용하고있는 WordPress의 버전이 아닙니다. 행동의 차이를 유발할 수있는 것은 무엇입니까?
Michiel van Oosterhout

1
이 코드는 7 개월 전에 추가되었지만 티켓을 보면 3.5 마일스톤이 있으므로 3.5에 새로운 동작 일 것입니다.
Otto

아 맞다, 나는 3.1로 설정된 '버전'필드를보고 있었지만 티켓이 생성되었을 때의 WordPress 버전입니다.
Michiel van Oosterhout
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.