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.