Wie kann ich protokollrelative externe Skripte (//ajax.googleapis.com/…) in die Warteschlange stellen?

14

Dem Codex zufolge unterstützt wp_enqueue_script protokollbezogene oder protokollunabhängige externe Links: "Remote-Assets können mit einer protokollunabhängigen URL angegeben werden, dh '//otherdomain.com/js/theirscript.js'."

Aber ich sehe es nicht:

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

Ausgabe:

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

Beachten Sie, dass die protokollrelative URL an die Site-URL angehängt wird.

Michiel van Oosterhout
quelle

Antworten:

16

Der von Ihnen gepostete Code funktioniert einwandfrei und führt zu folgenden Ergebnissen in der HTML-Ausgabe:

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

Getestet unter WordPress 3.5 mit diesem Code-Snippet:

add_action('wp_enqueue_scripts', 'test');
function test() {
  wp_enqueue_script('google-maps', '//maps.googleapis.com/maps/api/js?&sensor=false', array(), '3', true);
}
Otto
quelle
Wissen Sie, dass dies neu in WordPress 3.5 ist?
Michiel van Oosterhout
Protokollrelative URLs wurden vor 7 Monaten hinzugefügt: core.trac.wordpress.org/ticket/16560
Otto
Ok, es ist also nicht die Version von WordPress, die ich benutze. Was könnte also den Unterschied im Verhalten verursachen?
Michiel van Oosterhout
1
Nun, dieser Code wurde vor 7 Monaten hinzugefügt, aber wenn Sie sich das Ticket ansehen, hat es einen Meilenstein von 3,5, also ist es wahrscheinlich ein neues Verhalten von 3,5.
Otto
Ach ja, ich habe das Feld 'Version' angesehen, das auf 3.1 gesetzt war, aber das ist die Version von WordPress zum Zeitpunkt der Ticketerstellung.
Michiel van Oosterhout