Apakah ada cara untuk menggunakan wp_enqueue_script () untuk skrip inline?
Saya melakukan ini karena skrip inline saya bergantung pada skrip lain dan saya ingin fleksibilitas memasukkannya setelah dimuat.
Juga, Ini skrip inline karena saya meneruskan variabel php ke javascript (seperti jalur tema, dll)
Terima kasih sebelumnya.
wp-enqueue-script
chrisjlee
sumber
sumber
wp_add_inline_script()
wp_add_inline_script dengan wordpress jqueryHanya saja, jangan menjadikannya skrip inline dan meneruskan parameter dinamis sebagai variabel. Otto telah menulis panduan hebat tentang cara melakukan ini secara efektif.
WordPress 3.3 juga akan membuat ini lebih kuat: https://core.trac.wordpress.org/ticket/11520
sumber
Solusi ini mirip dengan jawaban @ scribu , tetapi mengikuti bentuk
wp_enquque_script()
, dan akan menempatkan skrip di header jika dependensinya termasuk dalam header.Catatan: ini menggunakan penggunaan fungsi anonim, tetapi untuk versi PHP sebelum 5.3 ini dapat dengan mudah dikonversi ke kelas.
sumber
Sejak WordPress 4.5 Anda dapat menggunakan wp_add_inline_script () :
sumber
Cara yang lebih baik yang saya temukan adalah menggunakan
wp_localize_script()
, seperti yang disarankan @scribu.Biasanya, saya memutuskan untuk menggunakan Javascript in-line karena saya perlu menyediakan beberapa variabel PHP ke skrip saya. Ini dapat diatasi dengan
wp_localize_script()
. Saya akan memberikan contoh:Anda memiliki larik
$aFoo
dengan beberapa opsi dan harus meneruskannya ke skrip.Menggunakan skrip sebaris:
Menggunakan
wp_localize_script()
:Maka,
pathToScript/script.js
akan menjadi:Dengan cara ini Anda tidak perlu skrip in-line lagi.
sumber
scribu benar sekali. Lagi pula, saya ingin menambahkan beberapa info:
Saya ingin fungsi saya menghasilkan skrip sekali, tidak peduli seberapa sering disebut. Ini adalah fungsi yang berhubungan dengan konten, jadi saya tidak bisa menunggu kait. Saya menggunakan info scribus dan bacaan inti WP untuk menghasilkan ini:
Dengan menggunakan metode ini saya dapat mencetak skrip inline satu kali. Dalam kasus saya, saya memiliki fungsi yang menciptakan tombol berbagi dan membutuhkan satu skrip untuk dieksekusi untuk semua tombol. Tapi hanya sekali.
sumber
echo
Pendekatan Script inline adalah bagaimana tema Dua puluh Seventeen dibangun, setidaknya pada satu titik. Dan saya menggunakan teknik ini juga. Berfungsi bagus, dan memungkinkan Anda terhubung ke berbagai tempat.