Comment mettre en file d'attente les scripts externes relatifs au protocole (//ajax.googleapis.com/…)?


14

Selon le Codex , wp_enqueue_script prend en charge les liens externes relatifs au protocole ou indépendants du protocole: "Les ressources distantes peuvent être spécifiées avec une URL indépendante du protocole, à savoir '//otherdomain.com/js/theirscript.js'."

Mais je ne le vois pas:

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

Production:

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

Notez que l'URL relative au protocole est ajoutée à l'URL du site.

Réponses:


17

Le code que vous avez publié fonctionne très bien et se traduit par ceci dans la sortie HTML:

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

Testé sur WordPress 3.5 avec cet extrait de code:

add_action('wp_enqueue_scripts', 'test');
function test() {
  wp_enqueue_script('google-maps', '//maps.googleapis.com/maps/api/js?&sensor=false', array(), '3', true);
}

Savez-vous que c'est nouveau dans WordPress 3.5?
Michiel van Oosterhout

Des URL relatives au protocole ont été ajoutées il y a 7 mois: core.trac.wordpress.org/ticket/16560
Otto

Ok, donc ce n'est pas la version de WordPress que j'utilise. Alors, qu'est-ce qui pourrait causer la différence de comportement?
Michiel van Oosterhout

1
Eh bien, ce code a été ajouté il y a 7 mois, mais si vous regardez le ticket, il a un jalon de 3,5, alors oui, c'est probablement un nouveau comportement à 3,5.
Otto

Oh oui, je regardais le champ 'Version' qui était réglé sur 3.1, mais c'est la version de WordPress au moment de la création du ticket.
Michiel van Oosterhout
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.