Solusi yang saya lihat berasal dari perspektif menambahkan fitur javascript ke tema. Namun, OP bertanya, secara khusus, "Bagaimana tepatnya cara menambahkannya untuk satu halaman WordPress?" Ini terdengar seperti cara saya menggunakan javascript di blog Wordpress saya, di mana setiap posting mungkin memiliki "widget" bertenaga javascript yang berbeda. Misalnya, sebuah posting memungkinkan pengguna mengubah variabel (slider, kotak centang, bidang input teks), dan plot atau daftar hasil.
Mulai dari perspektif JavaScript:
- Tulis fungsi JavaScript Anda di file “.js” terpisah
Jangan pernah berpikir untuk menyertakan JavaScript yang signifikan dalam html posting Anda — buat file JavaScript, atau file, dengan kode Anda.
- Antarmuka JavaScript Anda dengan html posting Anda
Jika widget JavaScript Anda berinteraksi dengan kontrol dan bidang html, Anda harus memahami cara membuat kueri dan menyetel elemen-elemen tersebut dari JavaScript, dan juga cara membiarkan elemen UI memanggil fungsi JavaScript Anda. Berikut ini beberapa contoh; pertama, dari JavaScript:
var val = document.getElementById(“AM_Freq_A_3”).value;
Dan dari html:
<input type="range" id="AM_Freq_A_3" class="freqSlider" min="0" max="1000" value="0" oninput='sliderChanged_AM_widget(this);'/>
- Gunakan jQuery untuk memanggil fungsi inisialisasi widget JavaScript Anda
Tambahkan ini ke file .js Anda, menggunakan nama fungsi Anda yang mengkonfigurasi dan menggambar widget JavaScript Anda saat halaman siap:
jQuery(document).ready(function( $ ) {
your_init_function();
});
- Di kode html posting Anda, muat skrip yang diperlukan untuk posting Anda
Di editor kode Wordpress, saya biasanya menentukan skrip di akhir posting. Misalnya, saya memiliki folder skrip di direktori utama saya. Di dalamnya saya memiliki direktori utilitas dengan JavaScript umum yang mungkin dibagikan oleh beberapa posting saya — dalam hal ini beberapa fungsi utilitas matematika saya dan pustaka plotting flotr2. Saya merasa lebih mudah untuk mengelompokkan JavaScript spesifik pasca di direktori lain, dengan subdirektori berdasarkan tanggal daripada menggunakan manajer media, misalnya.
<script type="text/javascript" src="/scripts/utils/flotr2.min.js"></script>
<script type="text/javascript" src="/scripts/utils/math.min.js"></script>
<script type="text/javascript" src="/scripts/widgets/20161207/FreqRes.js"></script>
- Antrean jQuery
Wordpress mendaftarkan jQuery, tetapi tidak tersedia kecuali jika Anda memberi tahu Wordpress bahwa Anda membutuhkannya, dengan mengantrekannya. Jika tidak, perintah jQuery akan gagal. Banyak sumber memberi tahu Anda cara menambahkan perintah ini ke functions.php Anda, tetapi asumsikan Anda mengetahui beberapa detail penting lainnya.
Pertama, mengedit tema adalah ide yang buruk — pembaruan tema apa pun di masa mendatang akan menghapus perubahan Anda. Buat tema anak. Begini caranya:
https://developer.wordpress.org/themes/advanced-topics/child-themes/
File functions.php anak tidak menimpa file tema induk dengan nama yang sama, ia menambahkannya. Tutorial tema anak menyarankan cara mengantrekan file induk dan anak style.css. Kita cukup menambahkan baris lain ke fungsi itu untuk juga memasukkan jQuery. Inilah seluruh file functions.php saya untuk tema anak:
<?php
add_action( 'wp_enqueue_scripts', 'earlevel_scripts_enqueue' );
function earlevel_scripts_enqueue() {
// styles
$parent_style = 'parent-style';
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme()->get('Version')
);
// posts with js widgets need jquery
wp_enqueue_script('jquery');
}