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.

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);
}

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.