Bagaimana saya bisa membuat skrip relatif eksternal (//ajax.googleapis.com/...)?

14

Menurut Codex , wp_enqueue_script mendukung protokol relatif, atau tautan eksternal protokol agnostik: "Aset jarak jauh dapat ditentukan dengan URL protokol-agnostik, yaitu '//otherdomain.com/js/theirscript.js'."

Tapi saya tidak melihatnya:

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

Keluaran:

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

Perhatikan bahwa URL relatif protokol ditambahkan ke URL situs.

Michiel van Oosterhout
sumber

Jawaban:

17

Kode yang Anda posting berfungsi dengan baik dan menghasilkan ini dalam output HTML:

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

Diuji di WordPress 3.5 dengan cuplikan kode ini:

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
sumber
Apakah Anda tahu ini baru di WordPress 3.5?
Michiel van Oosterhout
URL relatif protokol ditambahkan 7 bulan lalu: core.trac.wordpress.org/ticket/16560
Otto
Ok, jadi bukan versi WordPress yang saya gunakan. Jadi apa yang bisa menyebabkan perbedaan perilaku?
Michiel van Oosterhout
1
Nah, kode itu ditambahkan 7 bulan lalu, tetapi jika Anda melihat tiketnya, ia memiliki 3,5 tonggak, jadi ya itu mungkin perilaku baru ke 3,5.
Otto
Oh benar, saya sedang melihat bidang 'Versi' yang ditetapkan ke 3.1, tetapi itulah versi WordPress pada saat tiket dibuat.
Michiel van Oosterhout