Gunakan wp_enqueue_script()
di tema Anda
Jawaban dasar adalah dengan menggunakan wp_enqueue_script()
dalam wp_enqueue_scripts
hook untuk front end admin_enqueue_scripts
untuk admin. Mungkin terlihat seperti ini (yang menganggap Anda menelepon dari functions.php
file tema Anda ; perhatikan bagaimana saya mereferensikan direktori stylesheet):
<?php
add_action( 'wp_enqueue_scripts', 'mysite_enqueue' );
function mysite_enqueue() {
$ss_url = get_stylesheet_directory_uri();
wp_enqueue_script( 'mysite-scripts', "{$ss_url}/js/mysite-scripts.js" );
}
Itulah dasar-dasarnya.
Script Dependent yang Ditentukan Sebelumnya dan Banyak
Tetapi katakanlah Anda ingin memasukkan jQuery dan jQuery UI Sortable dari daftar skrip default yang disertakan dengan WordPress dan Anda ingin skrip Anda bergantung pada mereka? Mudah, hanya menyertakan dua script pertama yang menggunakan pra-didefinisikan menangani didefinisikan dalam WordPress dan untuk naskah Anda memberikan parameter-3 untuk wp_enqueue_script()
yang array script menangani digunakan oleh setiap script, seperti:
<?php
add_action( 'wp_enqueue_scripts', 'mysite_enqueue' );
function mysite_enqueue() {
$ss_url = get_stylesheet_directory_uri();
wp_enqueue_script( 'mysite-scripts', "{$ss_url}/js/mysite-scripts.js", array( 'jquery', 'jquery-ui-sortable' ) );
}
Skrip dalam Plugin
Bagaimana jika Anda ingin melakukannya dalam plugin? Gunakan plugins_url()
fungsi ini untuk menentukan URL file Javascript Anda:
<?php
define( 'MY_PLUGIN_VERSION', '2.0.1' );
add_action( 'wp_enqueue_scripts', 'my_plugin_enqueue' );
function my_plugin_enqueue() {
wp_enqueue_script( 'my-script', plugins_url('/js/my-script.js',__FILE__), array('jquery','jquery-ui-sortable'), MY_PLUGIN_VERSION );
}
Versi naskah Anda
Perhatikan juga bahwa di atas kami memberi plugin kami nomor versi dan meneruskannya sebagai parameter ke-4 wp_enqueue_script()
. Nomor versi adalah keluaran dalam sumber sebagai argumen kueri dalam URL ke skrip dan berfungsi untuk memaksa browser mengunduh ulang file yang mungkin di-cache jika versinya berubah.
Muat Naskah hanya pada halaman di mana diperlukan
The Aturan 1 Kinerja Web mengatakan untuk Minimalkan Permintaan HTTP sehingga bila memungkinkan Anda harus membatasi skrip untuk memuat hanya bila diperlukan. Misalnya, jika Anda hanya memerlukan skrip di admin, batasi skrip ini hanya untuk admin saja menggunakan admin_enqueue_scripts
:
<?php
define( 'MY_PLUGIN_VERSION', '2.0.1' );
add_action( 'admin_enqueue_scripts', 'my_plugin_admin_enqueue' );
function my_plugin_admin_enqueue() {
wp_enqueue_script( 'my-script', plugins_url( '/js/my-script.js', __FILE__ ), array( 'jquery', 'jquery-ui-sortable' ), MY_PLUGIN_VERSION );
}
Muat Script Anda di Footer
Jika skrip Anda adalah salah satu skrip yang perlu dimuat ke dalam footer, ada parameter ke-5 wp_enqueue_script()
yang memberitahu WordPress untuk menunda dan meletakkannya di footer (dengan asumsi tema Anda tidak salah tingkah dan memang ia menyebut kait wp_footer seperti semua seharusnya tema WordPress yang bagus ):
<?php
define( 'MY_PLUGIN_VERSION', '2.0.1' );
add_action( 'admin_enqueue_scripts', 'my_plugin_admin_enqueue' );
function my_plugin_admin_enqueue() {
wp_enqueue_script( 'my-script', plugins_url( '/js/my-script.js', __FILE__ ), array( 'jquery', 'jquery-ui-sortable' ), MY_PLUGIN_VERSION, true );
}
Kontrol Berbutir Lebih Halus
Jika Anda memerlukan kontrol berbutir lebih halus daripada itu Ozh memiliki artikel bagus yang berjudul Cara: Memuat Javascript Dengan Plugin WordPress Anda yang lebih detail.
Menonaktifkan Script untuk Mendapatkan Kontrol
Justin Tadlock memiliki artikel bagus berjudul Cara menonaktifkan skrip dan gaya jika Anda ingin:
- Gabungkan beberapa file menjadi satu file (jarak tempuh dapat berbeda dengan JavaScript di sini).
- Muat file hanya pada halaman yang kami gunakan skrip atau gaya.
- Berhenti harus menggunakan! Penting dalam file style.css kami untuk membuat penyesuaian CSS sederhana.
Melewati Nilai dari PHP ke JS dengan wp_localize_script()
Di blog-nya, Vladimir Prelovac memiliki artikel hebat berjudul Praktik terbaik untuk menambahkan kode JavaScript ke plugin WordPress di mana ia membahas penggunaan wp_localize_script()
untuk memungkinkan Anda menetapkan nilai variabel di PHP sisi-server Anda untuk kemudian digunakan dalam Javascript sisi-klien Anda.
Kontrol Grained Sangat Baik dengan wp_print_scripts()
Dan akhirnya jika Anda membutuhkan kontrol yang benar-benar halus, Anda dapat melihat wp_print_scripts()
seperti yang dibahas di Beer Planet dalam sebuah postingan yang berjudul Cara Memasukkan CSS dan JavaScript Secara Kondisional Dan Hanya Saat Dibutuhkan Oleh Tulisan .
Epiloque
Itu saja untuk Praktik Terbaik termasuk file Javascript dengan WordPress. Jika saya melewatkan sesuatu (yang mungkin saya miliki) pastikan untuk memberi tahu saya di komentar sehingga saya dapat menambahkan pembaruan untuk pelancong masa depan.