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.