Các giải pháp tôi đã thấy là từ góc độ thêm các tính năng javascript vào một chủ đề. Tuy nhiên, OP hỏi, cụ thể, "Làm thế nào chính xác làm tôi thêm nó cho một đơn trang WordPress?" Điều này có vẻ như đó có thể là cách tôi sử dụng javascript trong blog Wordpress của mình, nơi các bài đăng riêng lẻ có thể có các "widget" hỗ trợ javascript khác nhau. Ví dụ: một bài đăng có thể cho phép người dùng thay đổi các biến (thanh trượt, hộp kiểm, trường nhập văn bản) và vẽ biểu đồ hoặc liệt kê kết quả.
Bắt đầu từ quan điểm JavaScript:
- Viết các hàm JavaScript của bạn trong một tệp “.js” riêng biệt
Thậm chí đừng nghĩ đến việc đưa JavaScript quan trọng vào html của bài đăng của bạn — tạo một tệp JavaScript hoặc các tệp bằng mã của bạn.
- Giao diện JavaScript của bạn với html của bài đăng của bạn
Nếu tiện ích con JavaScript của bạn tương tác với các trường và điều khiển html, bạn sẽ cần hiểu cách truy vấn và đặt các phần tử đó từ JavaScript cũng như cách để các phần tử giao diện người dùng gọi các hàm JavaScript của bạn. Dưới đây là một vài ví dụ; đầu tiên, từ JavaScript:
var val = document.getElementById(“AM_Freq_A_3”).value;
Và từ html:
<input type="range" id="AM_Freq_A_3" class="freqSlider" min="0" max="1000" value="0" oninput='sliderChanged_AM_widget(this);'/>
- Sử dụng jQuery để gọi hàm khởi tạo tiện ích JavaScript của bạn
Thêm cái này vào tệp .js của bạn, sử dụng tên hàm định cấu hình và vẽ tiện ích JavaScript của bạn khi trang sẵn sàng cho nó:
jQuery(document).ready(function( $ ) {
your_init_function();
});
- Trong mã html của bài đăng của bạn, hãy tải các tập lệnh cần thiết cho bài đăng của bạn
Trong trình soạn thảo mã Wordpress, tôi thường chỉ định các tập lệnh ở cuối bài đăng. Ví dụ, tôi có một thư mục script trong thư mục chính của mình. Bên trong tôi có một thư mục tiện ích với JavaScript phổ biến mà một số bài đăng của tôi có thể chia sẻ — trong trường hợp này là một số hàm tiện ích toán học của riêng tôi và thư viện vẽ đồ thị flotr2. Tôi thấy thuận tiện hơn khi nhóm JavaScript cụ thể trong một thư mục khác, ví dụ: với các thư mục con dựa trên ngày thay vì sử dụng trình quản lý phương tiện.
<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>
- Enqueue jQuery
Wordpress đăng ký jQuery, nhưng nó không khả dụng trừ khi bạn nói với Wordpress rằng bạn cần nó, bằng cách xếp nó vào danh sách. Nếu bạn không, lệnh jQuery sẽ không thành công. Nhiều nguồn cho bạn biết cách thêm lệnh này vào functions.php của bạn, nhưng giả sử bạn biết một số chi tiết quan trọng khác.
Đầu tiên, bạn không nên chỉnh sửa chủ đề — mọi bản cập nhật trong tương lai của chủ đề sẽ xóa sạch các thay đổi của bạn. Tạo một chủ đề con. Đây là cách thực hiện:
https://developer.wordpress.org/themes/advanced-topics/child-themes/
Tệp functions.php của đứa trẻ không ghi đè lên tệp cùng tên của chủ đề mẹ, nó sẽ thêm vào đó. Hướng dẫn chủ đề con đề xuất cách xếp hàng đợi tệp style.css cha và con. Chúng ta có thể chỉ cần thêm một dòng khác vào hàm đó để xếp hàng jQuery. Đây là toàn bộ tệp functions.php của tôi cho chủ đề con:
<?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');
}