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.

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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.